如何在sql server 2005中为以下条件编写if not exists语句
如果@MeasurementId说值(1,2,3),那么这些是现有值,下面的语句可以正常工作 但是当@ MeasurementId = 0时它似乎不起作用......
If not exists(select Mat_Id,MeasurementId from MaterialQuantity where
Mat_Id=@Id and MeasurementId=@MeasurementId)
但是,如果NULL
列中包含MeasurementId
值,则上述声明似乎不起作用。请注意,MeasurementId
在这里不是ForeignKey ......
如果NULL
为0或如果使用@MeasurementId
,则如何分配@MeasurementId
where
陈述......
答案 0 :(得分:3)
除非我误解了,否则我认为你是在ISNULL语法之后:
If not exists(select Mat_Id,MeasurementId from MaterialQuantity where
Mat_Id=@Id and ISNULL(MeasurementId, 0) =@MeasurementId)