Verschil tussen trigger en procedure

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 13 Kunnen 2024
Anonim
An example of the zabbix API in the command line sheel Linux Bash, Windows Batch using Curl
Video: An example of the zabbix API in the command line sheel Linux Bash, Windows Batch using Curl

Inhoud


Trigger en Procedure zijn onderdeel van geavanceerde SQL. Trigger en Procedure voeren beide een gespecificeerde taak uit bij hun uitvoering. Het fundamentele verschil tussen trigger en procedure is dat de Aansteken, veroorzaken wordt automatisch uitgevoerd bij een gebeurtenis terwijl de Procedure wordt uitgevoerd wanneer het expliciet wordt ingeroepen.

Laten we wat meer verschillen tussen Trigger en Procedure bespreken met behulp van een onderstaande vergelijkingstabel.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingtriggersProcedures
basis- Ze worden automatisch uitgevoerd bij het optreden van een opgegeven gebeurtenis.Ze kunnen worden uitgevoerd wanneer nodig.
RoepingTriggers kunnen niet binnen een procedure worden aangeroepen.Maar u kunt een procedure binnen een trigger oproepen.
Parameter We kunnen geen parameters doorgeven aan triggers.We kunnen parameters doorgeven aan procedures.
terugkeerTrigger retourneert nooit waarde bij uitvoering.Procedure kan bij uitvoering waarde / s retourneren.


Definitie van trigger

De trigger is als een procedure die automatisch wordt uitgevoerd bij het optreden van een specifieke gebeurtenis. Net als de procedure hoeft de trigger niet expliciet te worden aangeroepen. Triggers worden gemaakt om een ​​taak uit te voeren als reactie op het optreden van een specifieke gebeurtenis.

De trigger kan worden geactiveerd als reactie op de DDL verklaringen (VERWIJDEREN, INVOEGEN of UPDATEN), of DML statements (VERWIJDEREN, INVOEGEN of UPDATEN) of, voor sommige databasebewerkingen (SERVERERROR, AANMELDING, UITLOGGEN, OPSTARTEN of UITSCHAKELEN).

De trigger bestaat uit drie componenten zoals hieronder besproken:

  • Evenement: Gebeurtenis is het optreden van een incident dat de uitvoering van de trigger veroorzaakt. De trigger kan worden besteld om beide uit te voeren VOORDAT een gebeurtenis plaatsvindt of het kan worden bevolen om te worden uitgevoerd NA de uitvoering van een evenement.
  • Staat: Het is een optioneel onderdeel van de trigger. Indien niet vermeld, wordt de trigger uitgevoerd als de opgegeven gebeurtenis plaatsvindt. Als de voorwaarde is opgegeven, worden de regels gecontroleerd om te bepalen of de trigger moet worden uitgevoerd.
  • Actie: Action is een set SQL-instructies die worden uitgevoerd bij de uitvoering van de trigger.

De algemene vorm van het maken van een evenement wordt hieronder besproken:


CREËER TRIGGER VOOR NA VOORWAARDEN ACTIE;

Hier is de voorwaarde optioneel.

Definitie van procedures

De procedure kan worden opgevat als een programma-eenheid, gemaakt om een ​​bepaalde taak uit te voeren en wordt opgeslagen in de database. Ze worden indien nodig door de SQL-instructie aangeroepen. Procedures zijn als door de gebruiker gedefinieerde functies die worden gedefinieerd door de ontwikkelaars. Procedures kunnen worden ingeroepen met CALL of UITVOEREN.

De procedures zijn nuttig in de volgende situaties:

  • Als de procedure door verschillende andere toepassingen wordt vereist, kan deze op de server worden opgeslagen zodat ze door elke toepassing kunnen worden opgeroepen. Het vermindert de inspanning van het dupliceren van de procedure van de ene database naar de andere en verbetert ook de modulariteit van de software.
  • Aangezien de procedure op de server wordt uitgevoerd, vermindert dit de gegevensoverdracht en verminderen ook de communicatiekosten.
  • De procedures kunnen worden gebruikt om de complexe beperkingen te controleren die buiten de kracht van trigger liggen.

Laten we de algemene vorm van het maken van een procedure bespreken:

CREËER PROCEDURE () KOMT TERUG ;

Hier zijn de parameters en de lokale verklaringen optioneel. Ze worden alleen vermeld wanneer ze nodig zijn. De onderstaande verklaring beschrijft het oproepen van de procedures.

CALL () ;

  1. Het primaire verschil tussen trigger en procedure is dat een trigger een instructie is die automatisch wordt opgeroepen wanneer een gebeurtenis heeft plaatsgevonden. Aan de andere kant wordt de procedure ingeroepen wanneer dit nodig is.
  2. Men kan de procedure binnen een trigger definiëren. Een trigger wordt echter nooit in een procedure gedefinieerd, omdat de trigger automatisch moet worden opgeroepen bij het optreden van een gebeurtenis.
  3. We kunnen parameters doorgeven aan procedures, maar we kunnen geen parameters doorgeven die moeten worden geactiveerd omdat dit niet door ons wordt aangeroepen.
  4. Een procedure kan parameterwaarden of code retourneren, maar een trigger kan dat niet.

Gevolgtrekking:

Triggers zijn nuttig, maar ze worden vermeden als er een alternatief voor bestaat, omdat dit de gegevenscomplexiteit verhoogt. Soms zijn triggers ook vervangers door een geschikte procedure.