UPDATE ConcordWholesales_new.dbo.Product
SET CCCQTYINSTOCK=isnull(@newQTYINSTOCK,'')
where SKU=@newSTOCKCODE
UPDATE Product
SET Published = CASE WHEN CCCQTYINSTOCK=isnull(@newQTYINSTOCK,'')
THEN '1' ELSE 0 END
我有一个更新触发器,当其低于0时,产品变为未发布,更新库存数量。如果StockQuantity高于0,则上述案例更新已发布的feild以重新发布产品。
当我更新ELSE子句时,在其他列上返回0值,但是如果我删除了ELSE子句,则它不能插入空值。
如何返回上述代码,以便只更新一行数据。
答案 0 :(得分:0)
你在第二个陈述
中缺少WHERE
条款
UPDATE Product
SET Published = CASE WHEN CCCQTYINSTOCK > 0
THEN 1 ELSE 0 END
where SKU=@newSTOCKCODE
还有一件事,什么数据类型是Published column? 你正在使用'1' - 它的nchar和0 - int