Diferència entre activador i procediment

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 10 Ser Possible 2024
Anonim
Diferència entre activador i procediment - Tecnologia
Diferència entre activador i procediment - Tecnologia

Content


El disparador i el procediment són un component de SQL avançat. Trigger i Procediment realitzen una tasca especificada en la seva execució. La diferència fonamental entre Trigger i Procediment és que la Disparador s'executa automàticament quan hi ha esdeveniments mentre que, el Procediment s'executa quan s'invoca explícitament.

Analitzem algunes diferències més entre Trigger i Procediment amb l'ajut d'un gràfic de comparació que es mostra a continuació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióDisparadorsProcediments
Bàsic S'executen automàticament quan es produeix un esdeveniment especificat.Es poden executar sempre que sigui necessari.
TrucadesEls activadors no es poden cridar dins d'un procediment.Però, podeu trucar a un procediment dins d'un disparador.
Paràmetre No podem passar paràmetres als disparadors.Podem passar paràmetres als procediments.
DevolucióEl disparador no retorna mai el valor en l’execució.El procediment pot retornar valor / s en execució.


Definició de Trigger

El desencadenant és com un procediment que s’executa automàticament a l’ocurrència d’un esdeveniment especificat. Igual que el procediment, no s'ha d'anomenar explícitament el disparador. Es creen disparadors per realitzar alguna tasca en resposta a l'ocurrència d'algun esdeveniment especificat.

El desencadenant es pot invocar en resposta a la secció DDL sentències (DELETE, INSERT o UPDATE) o DML instruccions (DELETE, INSERT o UPDATE) o, a algunes operacions de bases de dades (SERVERERROR, LOGON, LOGOFF, STARTUP o SHUTDOWN).

El disparador es compon de tres components, com es parla a continuació:

  • Esdeveniment: Es produeix algun incident que causarà l'execució del disparador. Es pot ordenar executar el disparador ABANS es produeix un esdeveniment o es pot ordenar executar-lo DESPRÉS l’execució d’un esdeveniment.
  • Estat: És una part opcional del disparador. Si no s'esmenta el disparador, s'executarà a mesura que es produeix l'esdeveniment especificat. Si s’especifica la condició, llavors es comprovarà les regles per determinar si s’ha d’executar el disparador.
  • Acció: L’acció és un conjunt de instruccions SQL que s’executaran en l’execució del Trigger.

A continuació es discuteix la forma general de creació d'un esdeveniment:


CREAR TRIGGER ABANS DESPRÉS ACCIÓ DE CONDICIÓ;

Aquí, la condició és opcional.

Definició de procediments

El procediment es pot prendre com a unitat de programa, creada per realitzar alguna tasca i es guarda a la base de dades. S'invoca per la sentència SQL sempre que cal. Els procediments són com funcions definides per l'usuari que són definides pels desenvolupadors. Es poden invocar els procediments mitjançant ANOMENADA o EXECUT.

Els procediments són útils en situacions següents:

  • Si el procediment és requerit per diverses altres aplicacions, llavors es pot emmagatzemar al servidor perquè puguin ser invocades per qualsevol aplicació. Reduirà l’esforç de duplicació del procediment d’una base de dades a una altra i també millora la modularitat del programari.
  • A mesura que el procediment s’està executant al servidor, reduirà la transferència de dades i també reduirà el cost de comunicació.
  • Els procediments es poden utilitzar per comprovar les restriccions complexes que estan fora de la potència de desencadenament.

Parlem de la forma general de creació d'un procediment:

CREAR PROCEDIMENT () DEVOLUCIONS ;

Aquí, els paràmetres i les declaracions locals són opcionals. S'esmenten només quan se'ls requereix. La declaració següent descriu la convocatòria dels procediments.

ANOMENADA () ;

  1. La diferència principal entre el disparador i el procediment és que un activador és una declaració que s'invoca automàticament quan s'ha produït un esdeveniment. D'altra banda, s'invoca el procediment sempre que sigui necessari.
  2. Es pot definir el procediment dins d'un disparador. Però, un disparador no es defineix mai dins d’un procediment, ja que s’ha d’invocar automàticament el disparador quan es produeixi cap esdeveniment.
  3. Podem passar paràmetres a procediments, però no podem passar paràmetres per activar ja que no és invocat per nosaltres.
  4. Un procediment pot retornar valors o codi de paràmetre, però, un disparador no pot.

Conclusió:

Els desencadenants són útils, però s’eviten si hi ha alguna alternativa a aquests, ja que augmenta la complexitat de les dades. De vegades els desencadenants també són substitutius per un procediment adequat.