Forskel mellem trigger og procedure

Forfatter: Laura McKinney
Oprettelsesdato: 1 April 2021
Opdateringsdato: 13 Kan 2024
Anonim
Why is sourdough dough sticky? We analyze the reasons of stickiness and make the dough elastic!
Video.: Why is sourdough dough sticky? We analyze the reasons of stickiness and make the dough elastic!

Indhold


Trigger og procedure er komponent i avanceret SQL. Trigger og procedure udfører begge en specificeret opgave under udførelsen. Den grundlæggende forskel mellem udløser og procedure er, at Udløser udføres automatisk ved forekomster af en begivenhed, hvorimod Procedure udføres, når det eksplicit påberopes.

Lad os diskutere nogle flere forskelle mellem udløser og procedure ved hjælp af et sammenligningskort, der er vist nedenfor.

  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningtriggersProcedurer
Grundlæggende De udføres automatisk ved forekomst af en specificeret begivenhed.De kan udføres når det er nødvendigt.
RingerUdløsere kan ikke kaldes inden for en procedure.Men du kan kalde en procedure inde i en trigger.
Parameter Vi kan ikke videregive parametre til triggere.Vi kan videregive parametre til procedurer.
Vend tilbageTrigger returnerer aldrig værdi ved udførelse.Procedure kan returnere værdi / r ved udførelsen.


Definition af Trigger

Triggeren er som en procedure, der udføres automatisk ved forekomsten af ​​en specificeret begivenhed. Ligesom proceduren behøver udløseren ikke kaldes eksplicit. Der oprettes triggere for at udføre en opgave som svar på forekomsten af ​​en bestemt specificeret begivenhed.

Udløseren kan påberåbes som svar på DDL udsagn (SLET, INDSÆT eller OPDATERING) eller DML udsagn (SLET, INSERT eller UPDATE) eller, til nogle databasefunktioner (SERVERERROR, LOGON, LOGOFF, STARTUP eller SHUTDOWN).

Triggeren består af tre komponenter som diskuteret nedenfor:

  • Begivenhed: Begivenhed er forekomsten af ​​en eller anden hændelse, der vil forårsage udførelse af udløseren. Trigeren kan beordres til at udføre enten FØR en begivenhed opstår, eller den kan beordres til at blive henrettet EFTER udførelsen af ​​en begivenhed.
  • Tilstand: Det er en valgfri del af udløseren. Hvis ikke nævnt, udløses trigger, når den specificerede begivenhed opstår. Hvis betingelsen er specificeret, kontrollerer den reglerne for at bestemme, om udløseren skal udføres.
  • Handling: Handling er et sæt SQL-sætninger, der udføres ved udførelsen af ​​Trigger.

Den generelle form for oprettelse af en begivenhed diskuteres nedenfor:


Opret TRIGGER FØR EFTER BETINGELSESHANDLING;

Her er tilstand valgfri.

Definition af procedurer

Proceduren kan tages som en programenhed, oprettet til at udføre en opgave, og den gemmes i databasen. De påberåbes af SQL-sætningen, når det er nødvendigt. Procedurer er som brugerdefinerede funktioner, der er defineret af udviklerne. Procedurer kan påberåbes ved hjælp af OPKALD eller EXECUTE.

Procedurerne er nyttige i følgende situationer:

  • Hvis proceduren kræves af flere andre applikationer, kan den gemmes på serveren, så de kan aktiveres af ethvert program. Det vil reducere indsatsen for duplikering af proceduren fra en database til en anden og forbedrer også modulariteten af ​​softwaren.
  • Idet proceduren udføres på serveren, reducerer den dataoverførsel og reducerer også kommunikationsomkostningerne.
  • Procedurerne kan bruges til at kontrollere de komplekse begrænsninger, der er uden for triggerens kraft.

Lad os diskutere den generelle form for oprettelse af en procedure:

Opret PROCEDURE () VENDER TILBAGE ;

Her er parametrene og de lokale erklæringer valgfri. De nævnes kun, når de kræves. Uddannelsen nedenfor beskriver indkaldelsen af ​​procedurerne.

OPKALD () ;

  1. Den primære forskel mellem trigger og procedure er, at en trigger er en erklæring, der automatisk aktiveres, når en begivenhed har fundet sted. På den anden side påbegyndes proceduren, når den er påkrævet.
  2. Man kan definere procedure i en trigger. Men en trigger er aldrig defineret i en procedure, da udløseren skal aktiveres automatisk ved forekomsten af ​​enhver begivenhed.
  3. Vi kan videregive parametre til procedurer, men vi kan ikke videregive parametre til at udløse, da det ikke påberåbes af os.
  4. En procedure kan returnere parameterværdier eller kode, men en trigger kan ikke.

Konklusion:

Udløsere er nyttige, men de undgås, hvis der findes et alternativ til dem, da det øger datakompleksiteten. Undertiden er triggers også erstatninger efter en passende procedure.