PostgreSQL - Funzioni come i trigger

Sommario
PostgreSQL ci permette di utilizzare diversi linguaggi per svolgere funzioni, questa funzionalità è abbastanza utile e lo rende uno dei database più flessibili e potenti, ma ci permette anche di fare funziona come trigger, ovvero funzioni che rilevano automaticamente quale azione si è verificata e ne attivano un'altra, ovvero se inseriamo in una tabella ad esempio un grilletto per aggiornare in un altro, per mettere un'operazione di base su cosa sia un trigger.
Funzioni come trigger
Nessun motore di database utile dovrebbe essere senza la possibilità di utilizzare trigger per rilevare e gestire automaticamente le modifiche ai dati. PostgreSQL offre trigger a livello di istruzione e a livello di record; quelli che sono a livello di frase vengono eseguiti una volta per ogni frase, mentre quelli che sono a livello di registri possono essere eseguiti molte volte, ad esempio se facciamo un AGGIORNARE che interessa 1500 record, un trigger a livello di frase verrebbe eseguito solo una volta, mentre il trigger di record verrebbe eseguito fino a 1500 volte.
Un altro punto importante in questo argomento è la distinzione tra le istruzioni PRIMA, DOPO DI e il INVECE DI in un grilletto.
Un trigger che funziona con PRIMA si attiva prima dell'esecuzione del comando dando l'opportunità di modificare o cancellare o manipolare i dati prima che cambino, a DOPO l'innesco viene attivato dopo l'esecuzione della modifica, dando così la possibilità di ottenere i dati già modificati, questo tipo di trigger viene utilizzato principalmente nei log e nelle funzioni di replica, il INVECE DI grilletto Esegue invece l'azione che verrebbe normalmente eseguita, inoltre un'altra delle peculiarità di questo è che funziona solo con le viste.
Costruisci una funzione con Trigger
Come quando parliamo di funzioni sappiamo che possiamo usare altri linguaggi per farle, nel caso di funzioni come i trigger è anche possibile usare quasi tutte le lingue, tuttavia il PL / pgSQL È un favorito per svolgere questi compiti, quindi il seguente esempio che vedremo nell'immagine sarà realizzato in questa lingua, dopo aver visto l'esempio lo spiegheremo in dettaglio:

1. La funzione è definita come trigger e può essere utilizzata in qualsiasi tabella che abbia una colonna upd_ts. Il valore di questa colonna verrà modificato prima di effettuare il reso. La chiamata viene effettuata all'evento PRIMA perché se fosse usato nel DOPO DI tutte le modifiche al nuovo record verranno ignorate.
2. Il trigger si attiverà prima che il record venga archiviato.
3. Questa funzionalità è disponibile solo in PostgreSQL 9.0 o superiore ci permette di modificare solo i record che sono stati effettivamente interessati, nelle versioni precedenti era necessario fare confronti tra i vecchi ei nuovi campi, questo però non è supportato per l'evento INSTEAD OF.
4. Colleghiamo il Trigger alla tabella.
Con questo finiamo questo tutorial in cui abbiamo visto come creare un trigger che verrà implementato in una funzione, oltre a sapere quali eventi possiamo usare quando ne abbiamo bisogno.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave