Skillnad mellan triggare och procedur

Författare: Laura McKinney
Skapelsedatum: 1 April 2021
Uppdatera Datum: 17 Maj 2024
Anonim
Урок 1. Снятие Мерок для Свадебных платьев.
Video: Урок 1. Снятие Мерок для Свадебных платьев.

Innehåll


Trigger och procedur är en del av Advanced SQL. Trigger och procedur utför båda en specificerad uppgift vid utförandet. Den grundläggande skillnaden mellan Trigger och procedur är att trigger körs automatiskt på händelser medan en Procedur körs när det uttryckligen åberopas.

Låt oss diskutera några fler skillnader mellan Trigger och procedur med hjälp av ett jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelsetriggersRutiner
Grundläggande De körs automatiskt vid inträde av en specifik händelse.De kan köras när så krävs.
KallelseTriggers kan inte kallas i en procedur.Men du kan ringa en procedur i en trigger.
Parameter Vi kan inte skicka parametrar till triggers.Vi kan överföra parametrar till procedurer.
Lämna tillbakaTrigger returnerar aldrig värde vid körning.Proceduren kan returnera värden / värdena vid körning.


Definition av Trigger

Trigaren är som en procedur som körs automatiskt när en specifik händelse inträffar. Liksom proceduren behöver inte utlösaren anropas uttryckligen. Triggers skapas för att utföra en del uppgift som svar på förekomsten av någon specificerad händelse.

Trigaren kan åberopas som svar på DDL uttalanden (DELETE, INSERT, eller UPDATE), eller DML uttalanden (DELETE, INSERT, eller UPDATE) eller, till vissa databasåtgärder (SERVERERROR, LOGON, LOGOFF, STARTUP eller SHUTDOWN).

Trigaren består av tre komponenter som diskuteras nedan:

  • Händelse: Händelse är händelsen av någon incident som kommer att orsaka körning av utlösaren. Trigaren kan beordras att utföra antingen INNAN en händelse inträffar eller så kan den beordras att köras EFTER genomförandet av en händelse.
  • Skick: Det är en valfri del av utlösaren. Om inte nämnd utlösare kommer att köras när den angivna händelsen inträffar. Om villkoret är specificerat kommer det att kontrollera reglerna för att avgöra om utlösaren ska köras.
  • Verkan: Åtgärd är en uppsättning SQL-satser som kommer att köras vid körningen av Trigger.

Den allmänna formen för att skapa en händelse diskuteras nedan:


SKAPA TRIGGER FÖRE EFTER VILLKOR ÅTGÄRD;

Här är villkor valfri.

Definition av förfaranden

Proceduren kan tas som en programenhet, skapad för att utföra någon uppgift och den lagras i databasen. De åberopas av SQL-uttalandet när så krävs. Procedurer är som användardefinierade funktioner som definieras av utvecklarna. Förfaranden kan åberopas med RINGA UPP eller KÖR.

Förfarandena är användbara i följande situationer:

  • Om proceduren krävs av flera andra applikationer kan den lagras på servern så att de kan åberopas av alla applikationer. Det kommer att minska ansträngningen att duplicera proceduren från en databas till en annan och förbättrar också programvarans modularitet.
  • Eftersom proceduren körs på servern kommer det att minska dataöverföringen och också sänka kommunikationskostnaden.
  • Procedurerna kan användas för att kontrollera de komplexa begränsningar som ligger utanför triggers kraft.

Låt oss diskutera den allmänna formen för att skapa ett förfarande:

SKAPA FÖRFARANDE () TILLBAKA ;

Här är parametrarna och de lokala deklarationerna valfria. De nämns endast när de krävs. Uttalandet nedan beskriver anropet till förfarandena.

RINGA UPP () ;

  1. Den primära skillnaden mellan trigger och procedur är att en trigger är ett uttalande som aktiveras automatiskt när en händelse har inträffat. Å andra sidan åberopas proceduren när det behövs.
  2. Man kan definiera procedur i en trigger. Men en avtryckare definieras aldrig i en procedur eftersom utlösaren måste anropas automatiskt vid förekomsten av någon händelse.
  3. Vi kan överföra parametrar till procedurer, men vi kan inte skicka parametrar för att utlösa eftersom det inte åberopas av oss.
  4. En procedur kan returnera parametervärden eller kod, men en trigger kan inte.

Slutsats:

Triggers är användbara, men de undviks om det finns något alternativ till dem, eftersom det ökar datakomplexiteten. Ibland ersätter triggers också en lämplig procedur.