Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE NTU
- GO
- CREATE TRIGGER maak_bedrag_na_insert ON aankoop
- AFTER INSERT
- AS
- BEGIN
- SET NOCOUNT ON;
- DECLARE
- @aankoop_nr INT,
- @aantal INT,
- @prijs money,
- ----------------------------------
- @aantalretour INT,
- @order_id INT,
- @product_id INT,
- @oudbedrag MONEY,
- @oudaantal INT,
- @retournummer INT;
- SELECT @aantalretour = inserted.aantal
- FROM inserted;
- SELECT @order_id = inserted.[ORDER]
- FROM inserted;
- SELECT @product_id = inserted.prod
- FROM inserted;
- SELECT @retournummer = inserted.retour
- FROM inserted;
- SELECT @oudbedrag = aankoop.bedrag
- FROM aankoop
- WHERE [ORDER] = @order_id AND aankoop.retour IS NULL;
- SELECT @oudaantal = aankoop.aantal
- FROM aankoop
- WHERE [ORDER] = @order_id AND aankoop.retour IS NULL;
- ----------------------------------------
- SELECT @aankoop_nr = inserted.aankoop_nr
- FROM inserted;
- SELECT @aantal = inserted.aantal
- FROM inserted;
- SELECT @prijs = prijs FROM
- product WHERE prod_nr = @product_id;
- -----------------------------------
- IF @retournummer IS NULL
- UPDATE aankoop
- SET bedrag = @prijs * @aantal
- WHERE aankoop_nr = @aankoop_nr;
- IF @retournummer IS NOT NULL
- IF @aantalretour>@oudaantal AND @aantalretour <0
- ROLLBACK TRANSACTION
- ELSE
- UPDATE aankoop
- SET bedrag = -(@oudbedrag / @oudaantal) * @aantalretour
- WHERE aankoop_nr = @aankoop_nr;
- UPDATE aankoop
- SET aantal = @aantalretour*-1
- WHERE aankoop.[ORDER] = @order_id AND aankoop.retour = @retournummer;
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement