2017-10-17 13 views
0

J'utilise sql-server 2012 et ce code est à l'intérieur dans une procédure stockée.procédure stockée

Ce sont mes SQL queries.I veulent exécuter la requête « Insérer » lorsque la requête « Mise à jour » pas exécutée. Si la requête de mise à jour exécutée, puis insérez la requête ne doit pas être exécutée.

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)  

est-il une méthode pour ce faire, s'il vous plaît aidez-moi

Répondre

0

Vous pouvez vérifier @@ROWCOUNT pour voir combien de lignes ont été affectées par l'instruction UPDATE:

UPDATE ... 

IF @@ROWCOUNT = 0 
    INSERT ... 

Vous pouvez également utiliser EXISTE pour vérifier une rangée en premier et décider quelle opération effectuer:

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

Merci de votre aide ... c'est travaillé –