Unterschied zwischen Trigger und Prozedur

Autor: Laura McKinney
Erstelldatum: 1 April 2021
Aktualisierungsdatum: 5 Kann 2024
Anonim
Вебинар: "Татуаж. Плотная стрелка"
Video: Вебинар: "Татуаж. Плотная стрелка"

Inhalt


Trigger und Prozedur sind Bestandteil von Advanced SQL. Trigger und Prozedur führen beide eine bestimmte Aufgabe bei ihrer Ausführung aus. Der grundlegende Unterschied zwischen Trigger und Procedure ist, dass Auslösen wird beim Auftreten eines Ereignisses automatisch ausgeführt Verfahren wird ausgeführt, wenn es explizit aufgerufen wird.

Lassen Sie uns einige weitere Unterschiede zwischen Trigger und Prozedur anhand der folgenden Vergleichstabelle erläutern.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichLöst ausVerfahren
Basic Sie werden beim Eintreten eines bestimmten Ereignisses automatisch ausgeführt.Sie können bei Bedarf ausgeführt werden.
BerufungTrigger können nicht innerhalb einer Prozedur aufgerufen werden.Sie können jedoch eine Prozedur innerhalb eines Triggers aufrufen.
Parameter Wir können keine Parameter an Trigger übergeben.Wir können Parameter an Prozeduren übergeben.
RückkehrDer Trigger gibt bei der Ausführung niemals einen Wert zurück.Die Prozedur kann bei der Ausführung einen oder mehrere Werte zurückgeben.


Definition von Trigger

Der Trigger ist wie eine Prozedur, die beim Auftreten eines bestimmten Ereignisses automatisch ausgeführt wird. Wie bei der Prozedur muss der Trigger nicht explizit aufgerufen werden. Trigger werden erstellt, um eine Aufgabe als Reaktion auf das Auftreten eines bestimmten Ereignisses auszuführen.

Der Trigger kann als Antwort auf die aufgerufen werden DDL Anweisungen (DELETE, INSERT oder UPDATE) oder DML Anweisungen (DELETE, INSERT oder UPDATE) oder für einige Datenbankoperationen (SERVERERROR, LOGON, LOGOFF, STARTUP oder SHUTDOWN).

Der Trigger besteht aus drei Komponenten:

  • Veranstaltung: Ereignis ist das Auftreten eines Ereignisses, das die Ausführung des Triggers verursacht. Der Trigger kann entweder ausgeführt werden VOR Ein Ereignis tritt ein oder es kann angeordnet werden, dass es ausgeführt wird NACH die Durchführung eines Ereignisses.
  • Bedingung: Dies ist ein optionaler Teil des Auslösers. Wenn nicht erwähnt, wird der Trigger ausgeführt, sobald das angegebene Ereignis eintritt. Wenn die Bedingung angegeben ist, werden die Regeln überprüft, um zu bestimmen, ob der Trigger ausgeführt werden soll.
  • Aktion: Aktion ist eine Menge von SQL-Anweisungen, die bei der Ausführung des Triggers ausgeführt werden.

Die allgemeine Form der Erstellung eines Ereignisses wird nachfolgend erläutert:


TRIGGER ERSTELLEN VORHER NACHHER ZUSTAND AKTION;

Hier ist die Bedingung optional.

Definition von Prozeduren

Die Prozedur kann als eine Programmeinheit betrachtet werden, die erstellt wird, um eine Aufgabe auszuführen, und in der Datenbank gespeichert wird. Sie werden bei Bedarf von der SQL-Anweisung aufgerufen. Prozeduren sind wie benutzerdefinierte Funktionen, die von den Entwicklern definiert werden. Prozeduren können mit aufgerufen werden ANRUF oder AUSFÜHREN.

Die Verfahren sind in folgenden Situationen nützlich:

  • Wenn die Prozedur von mehreren anderen Anwendungen benötigt wird, kann sie auf dem Server gespeichert werden, sodass sie von jeder Anwendung aufgerufen werden können. Dies reduziert den Aufwand für das Duplizieren des Vorgangs von einer Datenbank in eine andere und verbessert auch die Modularität der Software.
  • Während die Prozedur auf dem Server ausgeführt wird, werden die Datenübertragung und auch die Kommunikationskosten reduziert.
  • Die Prozeduren können verwendet werden, um die komplexen Einschränkungen zu überprüfen, die außerhalb der Kraft des Auslösers liegen.

Lassen Sie uns die allgemeine Form der Erstellung einer Prozedur diskutieren:

VERFAHREN ERSTELLEN () KEHRT ZURÜCK ;

Hier sind die Parameter und die lokalen Deklarationen optional. Sie werden nur erwähnt, wenn sie benötigt werden. Die folgende Anweisung beschreibt den Aufruf der Prozeduren.

ANRUF () ;

  1. Der Hauptunterschied zwischen Trigger und Prozedur besteht darin, dass ein Trigger eine Anweisung ist, die automatisch aufgerufen wird, wenn ein Ereignis aufgetreten ist. Andererseits wird die Prozedur immer dann aufgerufen, wenn sie benötigt wird.
  2. Man kann Prozeduren innerhalb eines Triggers definieren. Ein Trigger wird jedoch niemals innerhalb einer Prozedur definiert, da der Trigger automatisch beim Auftreten eines Ereignisses aufgerufen werden muss.
  3. Wir können Parameter an Prozeduren übergeben, aber wir können keine Parameter an Trigger übergeben, da diese von uns nicht aufgerufen werden.
  4. Eine Prozedur kann Parameterwerte oder Code zurückgeben, ein Trigger jedoch nicht.

Fazit:

Trigger sind nützlich, werden jedoch vermieden, wenn es Alternativen zu ihnen gibt, da sie die Datenkomplexität erhöhen. Manchmal werden Trigger auch durch ein geeignetes Verfahren ersetzt.