2017-10-17 95 views
0

我正在使用SQl-server 2012,此代码位于存储过程中。存储过程

这些是我的SQL查询。当“更新”查询未执行时,我想要执行“插入”查询。 如果更新查询已执行,则不应执行插入查询。

Update tblStock Set Balance= Balance + @ReduceRawQty 
    Where [email protected] 
    AND [email protected] 
    and [email protected] 

Insert Into tblStock(LocCode, ItemCode, CostPrice, Balance,Transfer,PCode) 
    Values(@LocCode,@rawitemcode,@RawCostPrice,@RawQty,0,@PCode)  

是否有任何方法来做到这一点,请大家帮我

回答

0

您可以检查@@ROWCOUNT,看看有多少行受到UPDATE语句:

UPDATE ... 

IF @@ROWCOUNT = 0 
    INSERT ... 

或者您可以使用EXISTS首先检查一行,然后决定执行哪个操作:

IF EXISTS (SELECT 1 FROM tblStock WHERE [email protected] AND [email protected] and [email protected]) 
    UPDATE ... 
ELSE 
    INSERT ... 
+0

感谢您的帮助......它的工作 –