【发布时间】:2010-03-20 10:07:28
【问题描述】:
我想调用这个过程,它发送一个可以是 NULL 或任何 int 值的值。
SELECT DomainName, DomainCode FROM Tags.tblDomain WHERE SubDomainId =@SubDomainId
我只是想使用这个单一的查询,而不是我现在在下面给定的代码中做的事情。
我搜索了这个我该怎么做,然后我得到了this Link。
据此,我必须将 ANSI_NULLS 设置为 OFF
我无法在执行我的 sql 查询之前在此过程中设置它,然后在执行此操作后再次重置它。
ALTER PROCEDURE [Tags].[spOnlineTest_SubDomainSelect]
@SubDomainId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF @SubDomainId IS NULL
SELECT DomainName, DomainCode FROM Tags.tblDomain WHERE SubDomainId IS NULL
ELSE
SELECT DomainName, DomainCode FROM Tags.tblDomain WHERE SubDomainId =@SubDomainId
END
处理 ANSI_NULLS 或 Using If Else 的更好做法是什么
【问题讨论】:
标签: sql sql-server database tsql