Stored Procedures und Trigger in einer Datenbank sind ähnliche Konstrukte . Sie können sowohl die gleichen SQL-Anweisungen. Der größte Unterschied zwischen den beiden ist , wie sie ausgeführt werden. Eine gespeicherte Prozedur , die von einem Benutzer ausgeführt werden, wobei ein Auslöser von dem System als Ergebnis eines Ereignisses ausgeführt . Ereignisse, die Ursache Trigger aktiviert werden Daten umfassen Einfügungen, Aktualisierungen und Löschungen . Ein Nachteil bei der Verwendung löst anstelle von gespeicherten Prozeduren ist, dass sie nicht akzeptieren können Parameter . Anleitung
Stored Procedures
1
Verwenden Sie die Anweisung unten , um eine grundlegende gespeicherte Prozedur ohne Parameter erstellen
CREATE PROCEDURE mySprocASBEGIN - . SQL StatementsEND
2
erstellen Sie eine gespeicherte Prozedur mit Parametern durch Kopieren Sie den Code unten . Um einen Parameter mit einem Standardwert , übergeben sind ein Gleichheitszeichen und den gewünschten Wert
CREATE PROCEDURE MySproc { @ Param1 varchar ( 50) , @ Param2 datetime = NULL , @ Param3 int = 0} ASBEGIN . - SQL StatementsEND
3
aktualisieren oder zu modifizieren eine gespeicherte Prozedur mit dem "Alter " aus dem Beispiel unten
ALTER PROCEDURE mySprocASBEGIN - . SQL StatementsEND
4
entfernen eine gespeicherte Prozedur aus der Datenbank mit der "Drop "-Befehl wie unten gezeigt
DROP PROCEDURE MySproc ; .
5
Ausführen der gespeicherten Prozedur in SQL durch Ausführung der Befehle unten . Wenn Sie Parameter umfassen , setzen Sie sie in der Reihenfolge, die von der gespeicherten Prozedur erwartet wird. Alle Strings übergeben in sollte in einfache Anführungszeichen sein
Beispiel ohne Parameter : EXEC dbo.mySproc ;
Beispiel mit Parametern : . EXEC dbo.mySproc ' String-Daten ', '1 /1 /. 1900 , 1;
Löst
6
hinzufügen grundlegende Trigger durch Kopieren Sie den Code unten
CREATE TRIGGER myTriggerON myTableAFTER INSERTASBEGIN - SQL StatementsEND
7
einen Auslöser, der nach mehreren Veranstaltungen mit den unten aufgeführten Befehle ausgeführt werden
CREATE TRIGGER myTriggerON myTableAFTER INSERT , UPDATE , DELETEASBEGIN - . SQL StatementsEND
8
Ändern Sie Ihre Trigger mit dem "Alter "-Befehl ALTER TRIGGER
myTriggerON myTableAFTER INSERTASBEGIN - . SQL StatementsEND
9
führen Sie die Anweisungen aus einer Trigger anstelle der Befehle, die dazu führen, die Veranstaltung mit dem "statt" -Befehl. Zum Beispiel, wenn die Tabelle MySproc myTable aktualisiert , würde es dazu führen, eine UPDATE Veranstaltung. Wenn Sie einen Trigger bis zu diesem Ereignis, das einen "statt "-Befehl, den Code aus dem Trigger laufen würde enthalten und den Code aus der gespeicherten Prozedur fangen gesetzt hätte nie ausgeführt .
CREATE TRIGGER myTriggerON myTableINSTEAD OF UPDATEASBEGIN - SQL StatementsEND
10
Nehmen Sie Trigger aus der Datenbank mit dem "Drop "-Befehl wie unten gezeigt
DROP TRIGGER MyTrigger ;
.