0
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 を超えた場合、上記のケースは、発行済みフィールドを更新して製品を再発行します。

ELSE 句を更新すると、他の列に 0 の値が返されますが、ELSE 句を削除すると、NULL 値を挿入できません。

1行のデータのみを更新するように上記のコードを返すにはどうすればよいですか。

4

1 に答える 1

0

WHERE2番目のステートメントに句がありませんでした

UPDATE  Product 
SET Published = CASE WHEN CCCQTYINSTOCK > 0
    THEN 1 ELSE 0 END
where SKU=@newSTOCKCODE

もう1つ、Published column のデータ型は何ですか? あなたは「1」を使用しています - そのnchar、および0 - int

于 2013-01-24T11:53:13.507 に答える