lagrede procedurer og udløsere inden for en database er lignende konstruktioner. De kan begge udføre de samme SQL-sætninger . Den største forskel mellem de to er, hvordan de udføres . En lagret procedure skal udføres af en bruger , mens en udløser bliver udført af systemet som følge af en hændelse . Begivenheder, der forårsager udløser skal aktiveres omfatte data skær, opdateringer og sletter . En ulempe ved at bruge udløser i stedet for lagrede procedurer er, at de ikke kan acceptere parametre. Instruktioner
Stored Procedures
1
Brug nedenstående opgørelse at skabe en grundlæggende lagret procedure uden parametre
CREATE PROCEDURE mySprocASBEGIN - . SQL StatementsEND
2
Opret en lagret procedure med parametre ved at kopiere koden nedenfor. For at bestå en parameter med en default værdi , omfatter et lighedstegn , og den ønskede værdi
CREATE PROCEDURE mySproc { @ param1 varchar (50) , @ Param2 datetime = NULL, @ Param3 int = 0} ASBEGIN . - SQL StatementsEND
3
Update eller ændre en lagret procedure ved at bruge " Alter " kommandoen fra eksemplet nedenfor
ALTER pROCEDURE mySprocASBEGIN - . SQL StatementsEND
< br > 4
Fjern en lagret procedure fra databasen med " Drop " kommando som vist nedenfor
DROP pROCEDURE mySproc ; .
5.
Udfør din lagrede procedure inden SQL ved kører kommandoerne nedenfor. Hvis du medtager parametre , lægge dem i den rækkefølge , der forventes af den lagrede procedure . Eventuelle strings vedtaget i skal være i anførselstegn
Eksempel med nogen parametre : EXEC dbo.mySproc ;
Eksempel med parametre: . EXEC dbo.mySproc ' string data ' , '1 /1 /. 1900 , 1 ,
udløser
6
Tilføj en grundlæggende trigger ved at kopiere koden nedenfor
CREATE tRIGGER myTriggerON myTableAFTER INSERTASBEGIN - SQL StatementsEND
7
Lav en udløser, som vil køre efter flere begivenheder med nedenstående kommandoer
CREATE tRIGGER myTriggerON myTableAFTER INSERT, UPDATE , DELETEASBEGIN - . SQL StatementsEND
8
Rediger din trigger ved hjælp af " Alter " kommando
ALTER tRIGGER myTriggerON myTableAFTER INSERTASBEGIN - . SQL StatementsEND
9
Udfør udtalelserne fra en udløser i stedet for de kommandoer, der forårsager begivenheden ved at bruge " i stedet for" kommando. For eksempel, hvis mySproc opdateret bordet MinTabel ville det medføre en UPDATE begivenhed. Hvis du havde en udløser sat op til at fange den begivenhed, der omfattede en "i stedet for " kommando, vil koden fra aftrækkeren køre og koden fra den lagrede procedure ville aldrig udføre.
CREATE TRIGGER myTriggerON myTableINSTEAD AF UPDATEASBEGIN - SQL StatementsEND
10
Fjern din trigger fra databasen med " Drop " kommando som vist nedenfor
DROP tRIGGER myTrigger ,
.