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 时,它会更新库存数量,产品变为未发布。如果库存数量高于 0,则上述案例将更新已发布字段以重新发布产品。
当我更新 ELSE 子句时,在其他列上返回 0 值,但如果我删除 ELSE 子句,它无法插入空值。
如何返回上面的代码,以便它只更新一行数据。
您在第二条语句中缺少WHERE
子句
UPDATE Product
SET Published = CASE WHEN CCCQTYINSTOCK > 0
THEN 1 ELSE 0 END
where SKU=@newSTOCKCODE
还有一件事,发布列是什么数据类型?您正在使用"1" - 其 nchar 和 0 - int