Differenza tra trigger e procedura

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
Aqara H1 EU e Aqara E1 EU versioni globali di interruttore e gateway zigbee, Home Assistant
Video: Aqara H1 EU e Aqara E1 EU versioni globali di interruttore e gateway zigbee, Home Assistant

Contenuto


Il trigger e la procedura sono componenti di Advanced SQL. Trigger e procedura eseguono entrambi un'attività specifica sulla loro esecuzione. La differenza fondamentale tra trigger e procedura è che grilletto esegue automaticamente le occorrenze di un evento mentre, il Procedura viene eseguito quando viene esplicitamente richiamato.

Discutiamo alcune altre differenze tra trigger e procedura con l'aiuto di una tabella di confronto mostrata di seguito.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontotriggerprocedure
Di base Vengono eseguiti automaticamente al verificarsi dell'evento specificato.Possono essere eseguiti quando richiesto.
chiamataI trigger non possono essere richiamati all'interno di una procedura.Ma puoi chiamare una procedura all'interno di un trigger.
Parametro Non possiamo trasmettere parametri ai trigger.Siamo in grado di passare i parametri alle procedure.
RitornoIl trigger non restituisce mai valore all'esecuzione.La procedura può restituire valore / i in esecuzione.


Definizione di trigger

Il trigger è come una procedura che viene eseguita automaticamente al verificarsi di un evento specificato. Come la procedura, il trigger non deve essere chiamato in modo esplicito. I trigger vengono creati per eseguire alcune attività in risposta al verificarsi di alcuni eventi specificati.

Il trigger può essere richiamato in risposta a DDL istruzioni (DELETE, INSERT o UPDATE) o DML istruzioni (DELETE, INSERT o UPDATE) o, ad alcune operazioni del database (SERVERERROR, LOGON, LOGOFF, STARTUP o SHUTDOWN).

Il trigger è costituito da tre componenti come discusso di seguito:

  • Evento: L'evento è il verificarsi di un incidente che causerà l'esecuzione del trigger. È possibile ordinare l'esecuzione del trigger PRIMA si verifica un evento o può essere ordinato per l'esecuzione DOPO l'esecuzione di un evento.
  • Condizione: È una parte opzionale del trigger. Se non menzionato, il trigger verrà eseguito al verificarsi dell'evento specificato. Se viene specificata la condizione, controllerà le regole per determinare se il trigger deve essere eseguito.
  • Azione: Action è un set di istruzioni SQL che verranno eseguite sull'esecuzione del trigger.

La forma generale di creazione di un evento è discussa di seguito:


CREA GRILLETTO PRIMA DOPO AZIONE CONDIZIONATA;

Qui, la condizione è facoltativa.

Definizione delle procedure

La procedura può essere presa come un'unità di programma, creata per eseguire alcune attività ed è memorizzata nel database. Sono invocati dall'istruzione SQL ogni volta che richiesto. Le procedure sono come le funzioni definite dall'utente definite dagli sviluppatori. Le procedure possono essere invocate usando CHIAMATA o ESEGUIRE.

Le procedure sono utili nelle seguenti situazioni:

  • Se la procedura è richiesta da diverse altre applicazioni, può essere archiviata sul server in modo che possano essere invocate da qualsiasi applicazione. Ridurrà lo sforzo di duplicazione della procedura da un database all'altro e migliorerà anche la modularità del software.
  • Mentre la procedura è in esecuzione sul server, ridurrà il trasferimento dei dati e ridurrà anche i costi di comunicazione.
  • Le procedure possono essere utilizzate per verificare i vincoli complessi che vanno oltre il potere del trigger.

Discutiamo la forma generale di creazione di una procedura:

CREA PROCEDURA () RITORNA ;

Qui, i parametri e le dichiarazioni locali sono facoltativi. Sono menzionati solo quando sono richiesti. La seguente dichiarazione descrive la chiamata delle procedure.

CHIAMATA () ;

  1. La differenza principale tra trigger e procedura è che un trigger è un'istruzione che viene invocata automaticamente quando si verifica un evento. D'altra parte, la procedura viene invocata ogni volta che è richiesta.
  2. Si può definire la procedura all'interno di un trigger. Tuttavia, un trigger non viene mai definito all'interno di una procedura poiché il trigger deve essere richiamato automaticamente al verificarsi di qualsiasi evento.
  3. Siamo in grado di passare i parametri alle procedure, ma non possiamo passare i parametri per attivarli poiché non vengono invocati da noi.
  4. Una procedura può restituire valori di parametri o codice ma un trigger non può.

Conclusione:

I trigger sono utili, ma vengono evitati se esistono alternative, poiché aumenta la complessità dei dati. A volte i trigger vengono anche sostituiti da una procedura appropriata.