Transact-SQL (T-SQL): Fondamenti e Approfondimenti

[Lezione 7] - Vista e Trigger in Transact-SQL

24/01/2024


In questa lezione affronteremo i seguenti argomenti:

• Creazione e utilizzo di viste (views)
• Implementazione di trigger per rispondere agli eventi del database
• Trigger DML e DDL: AFTER INSERT, UPDATE, DELETE e altri
• Gestione delle transazioni nei trigger



Creazione e utilizzo di viste (views):
Le viste sono query salvate che possono essere trattate come tabelle virtuali.
Esempio:

    -- Creazione di una vista che mostra gli utenti con età superiore a 25 
    CREATE VIEW VistaUtentiOver25 AS 
    SELECT Nome, Cognome, Età FROM Utenti WHERE Età > 25; 
    -- Utilizzo della vista 
    SELECT * FROM VistaUtentiOver25;

Le viste semplificano le query complesse, rendendo più agevole l'accesso ai dati.

Implementazione di trigger:
I trigger sono blocchi di codice automaticamente eseguiti in risposta a determinati eventi.
Esempio:

    -- Creazione di un trigger DML (AFTER INSERT) 
    CREATE TRIGGER Trig_AfterInsert ON Utenti AFTER INSERT AS BEGIN PRINT 'Nuovo utente inserito!'; END; 
    -- Esempio di INSERT che attiverà il trigger 
    INSERT INTO Utenti (Nome, Cognome, Età) VALUES ('Giuseppe', 'Verdi', 35); 

Il trigger stampa un messaggio ogni volta che viene inserito un nuovo utente.

Trigger DML e DDL: AFTER INSERT, UPDATE, DELETE e altri:
I trigger possono rispondere a eventi come l'inserimento, l'aggiornamento o l'eliminazione di dati (DML) e persino a modifiche nella struttura del database (DDL).

Gestione delle transazioni nei trigger:
I trigger possono far parte di transazioni più ampie.
Esempio:

    -- Creazione di un trigger con gestione delle transazioni 
    CREATE TRIGGER Trig_Transazione ON Utenti AFTER INSERT AS 
    BEGIN 
        BEGIN TRANSACTION; 
            -- Altre istruzioni nel trigger 
        COMMIT; 
    END; 

Il trigger può essere parte di una transazione più grande, garantendo la coerenza dei dati.

In questa lezione, abbiamo esplorato la creazione e l'utilizzo di viste per semplificare le query e l'implementazione di trigger per rispondere agli eventi del database. Nelle prossime lezioni, esamineremo i sistemi di gestione delle transazioni e approfondiremo la sicurezza in Transact-SQL.


< lezione precedente      lezione successiva >