Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Trigger resulting in NULL value
Message
De
11/07/2013 16:06:25
 
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Stored procedures, Triggers, UDFs
Versions des environnements
SQL Server:
SQL Server 6.5 and older
Application:
Web
Divers
Thread ID:
01578216
Message ID:
01578230
Vues:
36
>>How would I convert this to using your suggested syntax:
>>
>>
	UPDATE dbo.Items
>>			SET Items.iqtyonhand = Items.iqtyonhand + Deleted.trn_qty - Inserted.trn_qty
>>		FROM dbo.Items
>>			INNER JOIN Inserted ON Items.iItemid = Inserted.trn_itmfk
>>			INNER JOIN Deleted ON Items.iItemID = Deleted.trn_itmfk
>>		WHERE iItemTypId = '43'
>
>
>;with cteChanges AS (SELECT D.trn_itmfk AS ItemID, SUM(COALESCE(D.trn_qty,0) - COALESCE(I.trn_qty,0)) as ChangedQty
>FROM Deleted D INNER JOIN Inserted I on D.trn_itmFk = I.trn_itmFK
>GROUP BY D.trn_itmfk)
>
>MERGE dbo.Items as Trg
>USING cteChanges as Src ON Trg.ItemId = Src.ItemID
>WHEN MATCHED and Trg.iItemTypeId = '43' 
>THEN UPDATE SET iQtyOnHand = COALESCE(Trg.iQtyOnHand) + ChangedQty;
Thanks very much!
Frank.

Frank Cazabon
Samaan Systems Ltd.
www.samaansystems.com
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform