我正在使用SQl-server 2012,此代码位于存储过程中。
这些是我的SQL查询。我想执行" Insert"查询"更新"查询未执行。 如果执行了更新查询,则不应执行插入查询。
Update tblStock Set Balance= Balance + @ReduceRawQty
Where LocCode=@LocCode
AND ItemCode=@rawitemcode
and CostPrice=@rawcostprice
Insert Into tblStock(LocCode, ItemCode, CostPrice, Balance,Transfer,PCode)
Values(@LocCode,@rawitemcode,@RawCostPrice,@RawQty,0,@PCode)
有没有办法做到这一点,请帮帮我
答案 0 :(得分:0)
您可以检查@@ROWCOUNT
以查看UPDATE语句影响了多少行:
UPDATE ...
IF @@ROWCOUNT = 0
INSERT ...
或者,您可以使用EXISTS首先检查行并确定要执行的操作:
IF EXISTS (SELECT 1 FROM tblStock WHERE LocCode=@LocCode AND ItemCode=@rawitemcode and CostPrice=@rawcostprice)
UPDATE ...
ELSE
INSERT ...