Sintassi:
Quanto segue è la semplice sintassi per generare un trigger:
>> Crea trigger trigger_name [prima | dopo | invece di] eventi name su table_name [---- logica trigger];
Ecco la spiegazione della domanda generale di cui sopra.
Per comprendere brevemente il concetto di trigger, lancia la shell PostgreSQL dalle applicazioni. Modifica il server se si desidera lavorare su un altro server, oppure premere Invio dalla tastiera. Aggiungi il nome del database su cui si desidera lavorare, altrimenti, lascialo così com'è e tocca Invio. Come puoi vedere, attualmente abbiamo lavorato sulla porta 5432 come impostazione predefinita; Puoi anche cambiarlo. Successivamente, fornisci un nome utente diverso da Postgres se si desidera lavorare con un altro utente, oppure lasciarlo vuoto e premere il pulsante Invio. Ora la tua shell di comando è pronta per essere utilizzata.
Trigger al comando Inserisci
Diamo un'occhiata all'esempio di un trigger quando il comando insert è stato usato come evento trigger. Per questo, dobbiamo creare due nuove tabelle, E.G., "Impiega" e "audit". La tabella "impiega" conterrà i record personali dei dipendenti da una società specifica e la tabella "audit" conterrà le informazioni su quando i dipendenti si sono uniti all'azienda. Le domande per la creazione delle tabelle sono riportate di seguito.
>> Crea tabella impiega (ID intero non null chiave primaria, nome varchar (100) non null, età varchar (100) non null, salario varchar (100) non null);
>> Crea audit della tabella (empid integer non null, entry_date varchar (100) non null);
È necessario creare una procedura che verrà automaticamente eseguita o funzionante quando verrà chiamato il trigger. Verrà utilizzato nel comando successivo Crea trigger. Dal comando seguente, puoi avere un'idea che abbiamo creato una procedura "auditlogfunc ()", che restituirà un trigger come variabile "$ examp_table $". La funzione inizia con la clausola iniziale, seguita dall'istruzione Insert. Questa istruzione Insert inserisce l'ID automatico e la data di tempo corrente utilizzando la funzione integrata nella tabella "Audit" e restituendo questo risultato per attivare.
È tempo di generare un trigger utilizzando il comando Crea trigger. Creiamo un trigger chiamato "emp_trig" sulla tabella "impiega". La clausola dopo l'inserto significa che questo trigger funzionerà solo dopo l'esecuzione del comando insert. Per ogni riga significa all'esecuzione di ogni comando di insert, questo trigger chiamerà ed eseguirà la procedura "AuditlogFunc ()" creata appena prima.
>> Crea trigger EMP_TRig dopo l'inserto durante l'uso per ogni riga Esegui procedura auditlogFunc ();
È tempo di inserire alcuni dati nella tabella "impiega". Eseguire il comando inserisci seguente nella shell.
>> Inserisci in Employ (ID, Nome, Age, Stipending) Valori ('1', 'Paul', '34', '60000');
Dai un'occhiata al tavolo "impiega". I dati sono stati aggiunti correttamente con il comando insert.
Ora fai uno sguardo al tavolo "audit". Puoi vedere, è anche aggiornato a causa di trigger "emp_trig" e auditlogFunc ().
Trigger al comando di aggiornamento
Ora esamineremo un esempio di trigger che utilizza il comando di aggiornamento come evento trigger. Dobbiamo creare di nuovo una nuova procedura con il diverso nome "aggiornamento" come presentato nell'immagine. Questa procedura inserirà anche i record nella tabella "audit" su chiamata.
Ora, crea un nuovo trigger denominato "update_emp" utilizzando il comando Crea trigger. Questo funzionerà solo dopo l'esecuzione della query di aggiornamento sulla tabella e chiamerà la procedura "aggiornamento".
Aggiorna la tabella "impiega" impostando il suo ID su "2".
Prendi i record di una tabella "impiega" per visualizzare le modifiche come aggiunte di seguito.
Come puoi vedere sul tavolo "audit", è stato riorganizzato quando la tabella "impiega" è stata aggiornata.
Trigger al comando Elimina
Apri PGADMIN 4 dalle applicazioni al lavoro su GUI PostgreSQL. In base allo schema "test", scoprirai un elenco di tabelle. Crea una nuova tabella "EMP" e la stessa tabella "audit".
Questa volta invocheremo il comando trigger con il comando Elimina. Di seguito è riportata la tabella "EMP" con alcuni record.
Ecco la tabella di audit con i due aggiornamenti precedenti.
Crea una procedura denominata "Del ()" per attivare l'inserimento nella tabella "Audit" al momento dell'eliminazione dei record dalla tabella "EMP".
Crea un trigger "del_trig" utilizzando la query di trigger create. Questo trigger eseguirà la procedura "Del" quando una clausola di eliminazione verrà eseguita sulla tabella "EMP".
Eliminiamo un record dalla tabella "EMP" in cui il dipendente "ID" è "5". Eliminerà una riga dalla tabella "EMP".
Prendi i record della tabella "EMP" e dai un'occhiata. Puoi vedere che la riga è stata rimossa in cui "ID" era "5".
Ora estrai i record della tabella "audit" e noterai che è stato aggiornato perché l'operazione di eliminazione è stata eseguita sulla tabella "EMP".
Conclusione:
Abbiamo fatto quasi ogni esempio essenziale per comprendere il concetto di trigger durante l'esecuzione di inserti, aggiornamento ed elimina le operazioni.