Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TRIGGER ProductTrigger ON product AFTER UPDATE
- AS
- -- ако моделът не се обновява
- IF EXISTS ( SELECT *
- FROM deleted d
- JOIN inserted i ON d.model = i.model
- JOIN pc ON pc.model = d.model
- WHERE d.type <> i.type AND d.type = 'PC') OR
- EXISTS ( SELECT *
- FROM deleted d
- JOIN inserted i ON d.model = i.model
- JOIN laptop l ON l.model = d.model
- WHERE d.type <> i.type AND d.type = 'Laptop') OR
- EXISTS ( SELECT *
- FROM deleted d
- JOIN inserted i ON d.model = i.model
- JOIN printer p ON p.model = d.model
- WHERE d.type <> i.type AND d.type = 'Printer')
- BEGIN
- RAISERROR('Unacceptable model type update', 11, 1)
- ROLLBACK
- END
- IF UPDATE(model)
- BEGIN
- IF EXISTS (SELECT *
- FROM deleted d
- JOIN pc ON pc.model = d.model
- WHERE d.model NOT IN (SELECT model FROM inserted)
- AND d.type = 'PC') OR
- EXISTS (SELECT *
- FROM deleted d
- JOIN laptop ON laptop.model = d.model
- WHERE d.model NOT IN (SELECT model FROM inserted)
- AND d.type = 'Laptop') OR
- EXISTS (SELECT *
- FROM deleted d
- JOIN printer ON printer.model = d.model
- WHERE d.model NOT IN (SELECT model FROM inserted)
- AND d.type = 'Printer')
- BEGIN
- RAISERROR('Unacceptable model type update', 11, 1)
- ROLLBACK
- END
- END
- -- ако моделът се обновява
- -- - може да видиме, кои са моделите, които изчезват от играта,
- да им вземеме типа и да провериме дали има изостанали
- -- - може да видиме, кои са моделите, които остават в играта с
- нов тип и за тях да видиме дали има проблемни изостанали със стария
- тип
- GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement