Doporučená, 2024

Redakce Choice

Rozdíl mezi spouští a postupem

Spouštění a procedura jsou součástí rozšířeného SQL. Spoušť a procedura provádějí na svém provádění specifický úkol. Základním rozdílem mezi Triggerem a procedurou je, že Trigger se spustí automaticky při výskytu události, zatímco procedura se provede, když je explicitně vyvolána.

Pojďme diskutovat o některých dalších rozdílech mezi Triggerem a procedurou pomocí srovnávací tabulky uvedené níže.

Srovnávací graf

Základ pro porovnáníSpouštíPostupy
ZákladníJsou automaticky prováděny při výskytu zadané události.Mohou být provedeny kdykoliv je to nutné.
PovoláníSpouštěče nelze volat uvnitř procedury.Ale můžete vyvolat proceduru uvnitř spouštěče.
ParametrNemůžeme předávat parametry do spouštěčů.Můžeme předávat parametry procedurám.
Vrátit seSpuštění nikdy nevrátí hodnotu po spuštění.Postup může vrátit hodnotu / s při provádění.

Definice spouštěče

Spoušť je podobná proceduře, která se provede automaticky při výskytu určité události. Podobně jako procedura nemusí být spouštěč explicitně volán. Spouštěče jsou vytvořeny pro provedení nějakého úkolu v reakci na výskyt určité určené události.

Spoušť lze vyvolat v reakci na příkazy DDL (DELETE, INSERT nebo UPDATE) nebo příkazy DML (DELETE, INSERT nebo UPDATE) nebo na některé operace databáze (SERVERERROR, LOGON, LOGOFF, STARTUP nebo SHUTDOWN).

Spoušť se skládá ze tří částí, jak je popsáno níže:

  • Událost : Událost je výskyt nějakého incidentu, který způsobí spuštění spouštěče. Spoušť může být nařízena k provedení buď PŘED událostí nebo může být nařízena, aby se po provedení události provedla.
  • Podmínka : Jedná se o volitelnou část spouštěče. Pokud není zmíněna spoušť, spustí se, jakmile nastane určená událost. Pokud je podmínka zadána, pak zkontroluje pravidla, zda má být spouštěč spuštěn.
  • Akce : Akce je sada příkazů SQL, které budou provedeny při spouštění spouštěče.

Obecná forma vytvoření události je popsána níže:

 VYTVOŘTE TRIGGER PŘED / PO ZAMĚŘENÍ; 

Zde je podmínka nepovinná.

Definice postupů

Tento postup lze považovat za programovou jednotku, vytvořenou pro provádění některých úkolů a uložených v databázi. Jsou vyvolány příkazem SQL, kdykoli je to nutné. Procedury jsou jako uživatelem definované funkce, které jsou definovány vývojáři. Procedury lze vyvolat pomocí CALL nebo EXECUTE .

Tyto postupy jsou užitečné v následujících situacích:

  • Pokud je postup vyžadován několika dalšími aplikacemi, může být uložen na serveru tak, aby mohly být vyvolány libovolnou aplikací. Snižuje snahu o duplikaci postupu z jedné databáze do druhé a také zlepšuje modularitu softwaru.
  • Vzhledem k tomu, že se postup provádí na serveru, dojde ke snížení přenosu dat a také ke snížení nákladů na komunikaci.
  • Postupy lze použít ke kontrole složitých omezení, která přesahují výkon spouštěče.

Pojďme diskutovat o obecné formě vytvoření procedury:

 VYTVOŘIT POSTUP () RETURNS; 

Parametry a lokální deklarace jsou zde nepovinné. Jsou zmíněny pouze tehdy, když jsou požadovány. Níže uvedené prohlášení popisuje volání procedur.

 VOLÁNÍ () ; 

Klíčové rozdíly mezi spouštěním a postupem

  1. Primární rozdíl mezi aktivační procedurou a procedurou je, že spouštěč je příkaz, který se automaticky vyvolá při výskytu události. Na druhé straně je postup uplatněn vždy, když je to požadováno.
  2. Je možné definovat postup uvnitř spouštěče. Spoušť však není nikdy definována uvnitř procedury, protože spouštěč musí být vyvolán automaticky při výskytu jakékoli události.
  3. Můžeme předávat parametry procedurám, ale nemůžeme předávat parametry ke spuštění, protože nás nevyvolává.
  4. Procedura může vrátit hodnoty parametru nebo kód, ale spoušť nemůže.

Závěr:

Spouštěče jsou užitečné, ale je jim zabráněno, pokud existuje nějaká alternativa k nim, protože zvyšuje složitost dat. Někdy jsou spouštěče také náhražky vhodným postupem.

Top