INSTEAD OF-triggers (DML)

Triggers in SQL Server bouwen en optimaliseren

Florin Angelescu

Instructor

Definitie en eigenschappen

  • Voert een set acties uit wanneer geactiveerd
  • Acties worden uitgevoerd in plaats van het DML‑event
  • Het DML‑event draait niet meer
  • Gebruikt met INSERT-, UPDATE- en DELETE-statements voor tabellen of views
Triggers in SQL Server bouwen en optimaliseren

Vereisten voor INSTEAD OF-trigger

| ID  | Klant            | Product   | Prijs | Aantal   | OrderDatum | Totaalbedrag |
|-----|------------------|-----------|-------|----------|------------|--------------|
| 284 | VitaFruit        | Orange    | 0.76  | 75       | 2018-09-17 | 57.00        |
| 330 | Healthy Choices  | Raspberry | 1.96  | 200      | 2018-10-29 | 392.00       |
| 302 | World of Fruits  | Pineapple | 4.16  | 25       | 2018-10-09 | 104.00       |
| 248 | Fruit Mania      | Plum      | 1.11  | 300      | 2018-08-11 | 333.00       |
| 358 | Fruit Mag        | Pomelo    | 1.11  | 750      | 2018-11-29 | 832.50       |
| 100 | VitaFruit        | Avocado   | 2.91  | 500      | 2018-03-29 | 1455.00      |
Triggers in SQL Server bouwen en optimaliseren

Vereisten voor INSTEAD OF-trigger

  • Doeltabel
  • Omschrijving van de trigger
  • Trigger-event (DML)
  • Triggernaam
  • Orders
  • Updates van bestaande records blokkeren
  • UPDATE
  • PreventOrdersUpdate
Triggers in SQL Server bouwen en optimaliseren

INSTEAD OF-triggerdefinitie

CREATE TRIGGER PreventOrdersUpdate

ON Orders
INSTEAD OF UPDATE
AS RAISERROR ('Updates op tabel "Orders" zijn niet toegestaan. Plaats een nieuwe order om producten toe te voegen', 16, 1);
Triggers in SQL Server bouwen en optimaliseren

Laten we oefenen!

Triggers in SQL Server bouwen en optimaliseren

Preparing Video For Download...