Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi spúšťačom a postupom

Spúšťač a postup sú súčasťou pokročilého SQL. Spúšťač a postup vykonávajú zadanú úlohu pri ich vykonávaní. Základný rozdiel medzi spúšťačom a postupom spočíva v tom, že spúšťač sa spúšťa automaticky pri udalostiach udalosti, zatiaľ čo postup sa vykoná, keď je explicitne vyvolaný.

Prediskutujeme niekoľko rozdielov medzi Spúšťačom a postupom pomocou porovnávacieho grafu zobrazeného nižšie.

Porovnávacia tabuľka

Základ pre porovnanieTriggerspostupy
základnéAutomaticky sa vykonávajú pri výskyte špecifikovanej udalosti.Môžu byť vykonané vždy, keď je to potrebné.
povolaniaSpúšťače nie je možné vo vnútri procedúry zavolať.Ale môžete vo vnútri spúšťača zavolať postup.
parameterNemôžeme preniesť parametre na spúšťače.Môžeme preniesť parametre do procedúr.
spiatočnýTrigger nikdy nespĺňa hodnotu pri vykonaní.Postup môže vrátiť hodnotu / s pri vykonaní.

Definícia spustenia

Spúšťač je ako postup, ktorý sa spustí automaticky pri výskyte určitej udalosti. Rovnako ako postup, spúšť nemusí byť explicitne nazývaný. Spúšťače sú vytvorené, aby vykonali nejakú úlohu v reakcii na výskyt určitej udalosti.

Spúšťač môže byť vyvolaný ako reakcia na príkazy DDL (DELETE, INSERT alebo UPDATE) alebo DML (DELETE, INSERT alebo UPDATE) alebo niektoré databázové operácie (SERVERERROR, LOGON, LOGOFF, STARTUP alebo SHUTDOWN).

Spúšť sa skladá z troch zložiek, ako je uvedené nižšie:

  • Udalosť : Udalosť je výskyt nejakého incidentu, ktorý spôsobí spustenie spúšťača. Spúšťač je možné objednať tak, aby vykonal buď BEŽE sa udalosť vyskytne, alebo môže byť nariadená, aby sa vykonala po vykonaní udalosti.
  • Stav : Je voliteľnou súčasťou spúšťača. Ak sa nezmieňuje spúšťač, vykoná sa tak, ako nastane špecifikovaná udalosť. Ak je daná podmienka zadaná, potom skontroluje pravidlá, aby určila, či by spúšťač mal byť vykonaný.
  • Akcia : Akcia je nastavená príkazy SQL, ktoré sa vykonajú pri vykonaní Spúšťača.

Všeobecná forma vytvorenia udalosti je popísaná nižšie:

 CREATE TRIGGER pred / po liečbe; 

Tu je podmienka nepovinná.

Definícia postupov

Postup je možné považovať za programovú jednotku vytvorenú na vykonanie nejakej úlohy a je uložená v databáze. Sú vyvolané príkazom SQL vždy, keď je to potrebné. Postupy sú podobné užívateľom definovaným funkciám, ktoré definujú vývojári. Postupy možno vyvolávať pomocou funkcie CALL alebo EXECUTE .

Postupy sú užitočné v nasledujúcich situáciách:

  • Ak je postup vyžadovaný niekoľkými inými aplikáciami, môže byť uložený na serveri tak, aby ich mohol byť vyvolaný ľubovoľnou aplikáciou. Znižuje úsilie duplikácie procedúry z jednej databázy na inú a tiež zlepšuje modularitu softvéru.
  • Keďže postup sa vykonáva na serveri, zníži to prenos dát a zníži sa aj náklady na komunikáciu.
  • Postupy sa dajú použiť na kontrolu komplexných obmedzení, ktoré sú mimo výkon spúšťača.

Prediskutujeme všeobecnú formu vytvorenia postupu:

 VYTVORENIE POSTUPU () RETURNS; 

Tu sú parametre a miestne vyhlásenia nepovinné. Uvádzajú sa len vtedy, keď sú požadované. Nižšie uvedené vyhlásenie opisuje volanie postupov.

 CALL (); 

Kľúčové rozdiely medzi spustením a postupom

  1. Primárny rozdiel medzi spúšťačom a postupom spočíva v tom, že spúšťač je vyhlásenie, ktoré sa vyvolá automaticky po udalosti. Na druhej strane sa postupuje vždy, keď je to potrebné.
  2. Jeden môže definovať postup vo vnútri spúšťača. Spúšťač však nie je nikdy definovaný v rámci procedúry, pretože spúšťač musí byť vyvolaný automaticky pri výskyte akejkoľvek udalosti.
  3. Parametre môžeme preniesť na procedúry, ale nemôžeme presadzovať parametre, ktoré sa spúšťajú, pretože ich nenájdeme.
  4. Postup môže vrátiť hodnoty parametrov alebo kód, ale spúšťač nemôže.

záver:

Spúšťače sú užitočné, ale vyhýbajú sa, ak existujú alternatívy k nim, pretože zvyšujú zložitosť údajov. Niekedy spúšťače sú tiež náhrady vhodným postupom.

Top