Sobes.tech
Junior

Cos'è un trigger?

sobes.tech AI

Risposta dell'AI

Un trigger è una procedura memorizzata speciale nel database, che viene eseguita automaticamente quando si verifica un evento specifico.

Gli eventi che attivano i trigger includono di solito:

  • INSERT: aggiunta di nuove righe alla tabella.
  • UPDATE: modifica di righe esistenti nella tabella.
  • DELETE: rimozione di righe dalla tabella.

I trigger possono essere attivati in momenti diversi rispetto all'evento:

  • BEFORE: prima dell'esecuzione dell'evento.
  • AFTER: dopo l'esecuzione dell'evento.
  • INSTEAD OF: al posto dell'esecuzione dell'evento (spesso usato con le viste).

Esempi di utilizzo dei trigger:

  1. Mantenimento dell'integrità dei dati: verifica o modifica automatica dei dati durante inserimento/aggiornamento.
  2. Audit: registrazione delle informazioni sulle modifiche dei dati in una tabella di log.
  3. Sincronizzazione dei dati: aggiornamento automatico delle tabelle correlate.
  4. Esecuzione di regole di business complesse: avvio di azioni aggiuntive sotto certe condizioni.

I trigger sono definiti a livello di tabella e possono fare riferimento ai valori vecchi e nuovi della riga modificata.

-- Esempio di sintassi (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
    INSERT INTO audit (user_id, action, timestamp)
    VALUES (NEW.id, 'insert', NOW());
END;

È importante usare i trigger con cautela, poiché possono complicare il debug e influire sulle prestazioni del database.