Forskjellen mellom trigger og prosedyre

Forfatter: Laura McKinney
Opprettelsesdato: 1 April 2021
Oppdater Dato: 13 Kan 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

Innhold


Trigger og prosedyre er komponent i Advanced SQL. Trigger og prosedyre utfører begge en spesifisert oppgave på utførelsen. Den grunnleggende forskjellen mellom trigger og prosedyre er at Avtrekker kjøres automatisk på forekomster av en hendelse, mens Fremgangsmåte blir henrettet når det eksplisitt blir påberopt.

La oss diskutere noen flere forskjeller mellom trigge og prosedyre ved hjelp av et sammenligningstabell som er vist nedenfor.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningTriggersprosedyrer
grunn~~POS=TRUNC De kjøres automatisk ved forekomst av spesifisert hendelse.De kan henrettes når det er nødvendig.
ringeUtløsere kan ikke kalles i en prosedyre.Men du kan ringe en prosedyre i en trigger.
Parameter Vi kan ikke sende parametere til triggere.Vi kan overføre parametere til prosedyrer.
Komme tilbakeTrigger returnerer aldri verdi ved utførelse.Prosedyre kan returnere verdi / er ved utførelse.


Definisjon av Trigger

Utløseren er som en prosedyre som blir kjørt automatisk ved forekomsten av en spesifisert hendelse. I likhet med prosedyren, trenger ikke utløseren kalles eksplisitt. Utløsere opprettes for å utføre en oppgave som svar på forekomsten av en spesifisert hendelse.

Utløseren kan påberopes som svar på DDL uttalelser (SLETT, INSERT, eller OPPDATERING), eller DML uttalelser (SLETT, INSERT, eller OPPDATERING) eller, til noen databaseoperasjoner (SERVERERROR, LOGON, LOGOFF, STARTUP eller SHUTDOWN).

Utløseren består av tre komponenter som omtalt nedenfor:

  • Begivenhet: Hendelse er forekomsten av en eller annen hendelse som vil føre til henrettelse av utløseren. Utløseren kan også beordre å utføre FØR en hendelse oppstår, eller det kan beordres å bli henrettet ETTER gjennomføringen av en hendelse.
  • Betingelse: Det er en valgfri del av avtrekkeren. Hvis ikke nevnt utløser vil kjøringen når den spesifiserte hendelsen oppstår. Hvis betingelsen er spesifisert, vil den sjekke reglene for å avgjøre om avtrekkeren skal utføres.
  • Handling: Handling er et sett SQL-setninger som vil bli utført ved utførelsen av Trigger.

Den generelle formen for opprettelse av en hendelse blir diskutert nedenfor:


SKAP TRIGGER FØR ETTER TILSTANDSAKTION;

Her er tilstand valgfri.

Definisjon av prosedyrer

Prosedyren kan tas som en programenhet, opprettet for å utføre en oppgave, og den lagres i databasen. De påberopes av SQL-setningen når det er nødvendig. Prosedyrer er som brukerdefinerte funksjoner som er definert av utviklerne. Prosedyrer kan påberopes ved hjelp av ANROP eller HENRETTE.

Prosedyrene er nyttige i følgende situasjoner:

  • Hvis prosedyren kreves av flere andre applikasjoner, kan den lagres på serveren slik at de kan påberopes av ethvert program. Det vil redusere innsatsen for duplisering av prosedyren fra en database til en annen, og forbedrer også modulariteten til programvaren.
  • Ettersom prosedyren kjøres på serveren, vil det redusere dataoverføring og også redusere kommunikasjonskostnadene.
  • Prosedyrene kan brukes til å sjekke de komplekse begrensningene som ligger utenfor triggerens kraft.

La oss diskutere den generelle formen for å lage en prosedyre:

OPPRETT PROSEDYRE () TILBAKE ;

Her er parametrene og de lokale erklæringer valgfrie. De nevnes bare når det kreves. Uttalelsen nedenfor beskriver anrop til prosedyrene.

ANROP () ;

  1. Den primære forskjellen mellom trigger og prosedyre er at en trigger er en uttalelse som blir påberopt automatisk når en hendelse har skjedd. På den annen side påberopes prosedyren når det er nødvendig.
  2. Man kan definere prosedyre inne i en trigger. Men en trigger er aldri definert i en prosedyre, da avtrekkeren må påberopes automatisk ved forekomsten av en hvilken som helst hendelse.
  3. Vi kan sende parametere til prosedyrer, men vi kan ikke sende parametere for å utløse, da det ikke blir påkalt av oss.
  4. En prosedyre kan returnere parameterverdier eller kode, men en utløser kan ikke.

Konklusjon:

Utløsere er nyttige, men de unngås hvis det finnes noe alternativ til dem, da det øker datakompleksiteten. Noen ganger kan triggere også erstattes av en passende prosedyre.