Procedimientos almacenados y disparadores en una base de datos son construcciones similares . Ambos pueden realizar las mismas sentencias SQL. La mayor diferencia entre los dos es la forma en que se ejecutan. Un procedimiento almacenado tiene que ser ejecutado por un usuario , mientras que un gatillo es ejecutado por el sistema como resultado de un evento . Eventos que causan dispara sean activados incluyen inserciones de datos , actualizaciones y eliminaciones. Una desventaja de usar desencadena en lugar de procedimientos almacenados es que ellos no pueden aceptar parámetros . Instrucciones
procedimientos almacenados
1
Utilice la sentencia a continuación para crear un procedimiento básico almacenado sin parámetros
CREATE PROCEDURE mySprocASBEGIN - . SQL StatementsEND
2
Crear un procedimiento almacenado con parámetros copiando el código de abajo . Para pasar un parámetro con un valor por defecto, incluye un signo igual y el valor deseado
CREATE PROCEDURE MySproc {@ Param1 varchar ( 50 ) , @ Param2 datetime = NULL , @ Param3 int = 0 } ASBEGIN . - SQL StatementsEND
3 Update
o modificar un procedimiento almacenado mediante el comando " Alter " en el ejemplo de abajo
ALTER PROCEDURE mySprocASBEGIN - . SQL StatementsEND
4
eliminar un procedimiento almacenado en la base de datos con el comando "Drop ", como se muestra a continuación
DROP pROCEDIMIENTO MySproc ; .
5
Ejecutar el procedimiento almacenado en SQL ejecutando los siguientes comandos . Si incluye los parámetros , los puso en el orden que se espera por el procedimiento almacenado . Cualquier cadena que se pase en el deben estar entre comillas simples
Ejemplo sin parámetros : EXEC dbo.mySproc ;
Ejemplo con parámetros: . ' Datos de cadena ' EXEC dbo.mySproc , '1 /1 /. 1900 ', 1 ;
desencadenantes
6
Añadir un gatillo básica copiando el código de abajo
CREATE tRIGGER myTriggerON myTableAFTER INSERTASBEGIN - SQL StatementsEND
7
Hacer un gatillo que se ejecutará después de múltiples eventos con los comandos siguientes
CREATE tRIGGER myTriggerON myTableAFTER INSERT , UPDATE , DELETEASBEGIN - . SQL StatementsEND
8
Modifique su disparo con el comando " Alter "
ALTER tRIGGER myTriggerON myTableAFTER INSERTASBEGIN - . SQL StatementsEND
9
ejecutar las sentencias de un disparo en lugar de los comandos que causan el evento mediante la opción " en lugar de" comando . Por ejemplo, si MySproc actualiza la myTable mesa, que causaría un evento UPDATE. Si usted tuviera un desencadenador creado para atrapar a ese evento que incluyó un "en lugar de " de comandos, el código del disparador se ejecute , y el código del procedimiento almacenado no se ejecutará .
CREATE TRIGGER myTriggerON myTableINSTEAD DE UPDATEASBEGIN - SQL StatementsEND
10
Retire el gatillo de la base de datos con el comando "Drop ", como se muestra a continuación
DROP tRIGGER MyTrigger ;
.