我正在尝试确定产品表中是否已经存在产品。当我运行tsql的此位时,它应该返回1并退出proc,因为在产品表中不存在产品ID 7777,但它返回0。如果我在没有if语句的情况下运行它,只是执行select语句,它说@prodID
是null
。我想知道为什么它不进入if语句,因为我正在检查它是否为空值。在此先感谢您的帮助。
Declare @ProdID int
select @ProdID = dbo.productTbl.ProductID
from dbo.ProductTbl
inner join dbo.OrderTbl
on dbo.ProductTbl.ProductID = dbo.OrderTbl.ProductID
where dbo.OrderTbl.ProductID = 7777
if(@ProdID = null)
begin
raiserror('The product does not exist',16,1)
return 1
end
return 0
最佳答案
在SQL Server中,使用IS NULL
而不是= null
来检查空值。
if(@ProdID IS NULL)
begin
raiserror('The product does not exist',16,1)
return 1
end
return 0
关于sql - 检查列是否具有空值sql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22997655/