Stored Procedures en Triggers in een database zijn vergelijkbaar constructies . Ze kunnen beide hebben dezelfde SQL-instructies . Het grootste verschil tussen de twee is hoe ze worden uitgevoerd . Een opgeslagen procedure moet worden uitgevoerd door een gebruiker , terwijl een trekker wordt uitgevoerd door het systeem als gevolg van een gebeurtenis . Gebeurtenissen die ervoor zorgen dat triggers worden geactiveerd omvatten gegevens inserts , updates en verwijdert . Een nadeel van triggers in plaats van opgeslagen procedures is dat ze geen parameters accepteren. Instructies Stored Procedures 1 Gebruik de onderstaande verklaring aan een fundamentele opgeslagen procedure te creëren zonder parameters CREATE PROCEDURE mySprocASBEGIN - . SQL StatementsEND kopen van 2 Maak een opgeslagen procedure met parameters die door de onderstaande code te kopiëren . Om een parameter met een standaardwaarde , passeren onder andere een gelijk-teken en de gewenste waarde CREATE PROCEDURE mySproc { @ Param1 varchar ( 50 ) , @ Param2 datetime = NULL , @ Param3 int = 0 } ASBEGIN . - SQL StatementsEND update of 3 wijzigen van een opgeslagen procedure met behulp van de " Alter " commando uit het onderstaande voorbeeld ALTER pROCEDURE mySprocASBEGIN - . SQL StatementsEND < br > 4 Verwijder een opgeslagen procedure uit de database met de " Drop "-opdracht zoals hieronder getoond DROP pROCEDURE mySproc ; . 5 Voer uw opgeslagen procedure binnen SQL door het uitvoeren van de onderstaande opdrachten . Als u parameters omvatten , zet ze in de volgorde die wordt verwacht door de opgeslagen procedure . Elke strings doorgegeven moet worden in enkele aanhalingstekens Voorbeeld zonder parameters : EXEC dbo.mySproc ; Voorbeeld hotels met parameters : . EXEC dbo.mySproc ' tekenreeksgegevens ' , '1 /1 /. 1900 ' , 1 ; Triggers 6 Voeg een basic trekker door de onderstaande code te kopiëren CREATE TRIGGER myTriggerON myTableAFTER INSERTASBEGIN - SQL StatementsEND 7 Maak een trigger die na meerdere gebeurtenissen met de onderstaande commando's zal lopen CREATE TRIGGER myTriggerON myTableAFTER INSERT , UPDATE , DELETEASBEGIN - . SQL StatementsEND 8 Wijzig uw trekker met behulp van de " Alter " command ALTER TRIGGER myTriggerON myTableAFTER INSERTASBEGIN - . SQL StatementsEND 9 Uitvoeren van de verklaringen van een trekker in plaats van de commando's die ervoor zorgen dat het evenement door middel van de " in plaats van " commando . Als bijvoorbeeld mySproc een nieuwe tabel myTable , zou een UPDATE gebeurtenisvelden . Als je een trigger opgezet om die gebeurtenis die onder een " in plaats van " commando , zou de code van de trekker uitvoeren , en de code te vangen van de opgeslagen procedure had nooit zou voeren . CREATE TRIGGER myTriggerON myTableINSTEAD VAN UPDATEASBEGIN - SQL StatementsEND 10 Verwijder je trigger uit de database met de " Drop "-opdracht zoals hieronder getoond DROP TRIGGER myTrigger ; .
|