Trigger AFTER (DML)

Creare e ottimizzare i trigger in SQL Server

Florin Angelescu

Instructor

Definizione e proprietà

  • Esegue azioni quando scatta
  • Le azioni partono solo dopo che l’evento DML è concluso
  • Usato con INSERT, UPDATE e DELETE su tabelle o viste
Creare e ottimizzare i trigger in SQL Server

Prerequisiti per trigger AFTER

  • Tabella o vista richiesta per istruzioni DML
  • Il trigger sarà collegato alla stessa tabella

Output della tabella Products usato in questo esempio:

| Product | Price | Currency | Quantity | Measure |
|---------|-------|----------|----------|---------|
| Apple   | 2.00  | USD      | 25000    | kg      |
| Apricot | 1.55  | USD      | 2500     | kg      |
| Avocado | 3.00  | USD      | 1000     | kg      |
| Banana  | 1.80  | USD      | 35000    | kg      |
Creare e ottimizzare i trigger in SQL Server

Prerequisiti per trigger AFTER

  • Tabella di destinazione
  • Descrizione del trigger
  • Evento di attivazione (DML)
  • Nome del trigger
  • Products
  • Salva le info dei prodotti eliminati in una tabella di storico
  • DELETE
  • TrackRetiredProducts
Creare e ottimizzare i trigger in SQL Server

Riepilogo prerequisiti trigger AFTER

Quando si rimuovono righe dalla tabella Products...

Salva le info necessarie di quelle righe nella tabella RetiredProducts.

| Product | Price | Currency | Quantity | Measure |
|---------|-------|----------|----------|---------|
| Apple   | 2.00  | USD      | 25000    | kg      |
| Apricot | 1.55  | USD      | 2500     | kg      | X
| Avocado | 3.00  | USD      | 1000     | kg      |
| Banana  | 1.80  | USD      | 35000    | kg      |
| Product | Measure | RemovalDate |
|---------|---------|-------------|
| Apricot | kg      | 19.04.2019  |
Creare e ottimizzare i trigger in SQL Server

Definizione di trigger AFTER

CREATE TRIGGER TrackRetiredProducts

ON Products
AFTER DELETE
AS INSERT INTO RetiredProducts (Product, Measure) SELECT Product, Measure FROM deleted;
Creare e ottimizzare i trigger in SQL Server

Tabelle "inserted" e "deleted"

  • Tabelle speciali usate dai trigger DML
  • Create automaticamente da SQL Server
Creare e ottimizzare i trigger in SQL Server

Tabelle "inserted" e "deleted"

  • Tabelle speciali usate dai trigger DML
  • Create automaticamente da SQL Server
Tabella speciale INSERT UPDATE DELETE
inserted nuove righe nuove righe N/D
deleted N/D righe aggiornate righe rimosse
Creare e ottimizzare i trigger in SQL Server

Trigger AFTER completo

CREATE TRIGGER TrackRetiredProducts
ON Products
AFTER DELETE
AS
    INSERT INTO RetiredProducts (Product, Measure)
    SELECT Product, Measure
    FROM deleted;
Creare e ottimizzare i trigger in SQL Server

¡Vamos a practicar!

Creare e ottimizzare i trigger in SQL Server

Preparing Video For Download...