Sunteți pe pagina 1din 4

En espaol se llaman o estn traducidos por desencadenador son lo mismo que los Stored Procedures pero stos se ejecutan

desantendidamente y automticamente cuando un usuario realiza una accin con la tabla de una base de datos que lleve asociado este trigger. Se pueden crear triggers para las sentencias de SQL Insert, Update y Delete. Por ejemplo en la anterior tabla pr_usuararios podemos crear un trigger que cada vez que se inserte un nuevo registro envie un mail de aviso al webmaster del web (este ejemplo esta puesto al final de esta pgina).

Mode de empleo:
Create Trigger pr_usuarios_Trigger1 On dbo.pr_usuarios For /* Insert, Update, Delete */ As Los triggers pueden incluir cualquier nmero y clase de instruccin de Transact-SQL. Los podemos crear desde el Entreprise Manager del SQL como muestran las figuras 1 y 2 o desde el Visual Interdev creando un proyecto de base de datos como muestra en la figura 3 y 4. Desde el Trigger podremos obtener los datos de la fila que se ha modificado o aadido utilizando inserted o deleted: Select * from deleted

Ventajas de los triggers.


Ofrecen chequeos de seguridad basada en valores. Integridad de los datos mejorada: Fuerzan restricciones dinmicas de integridad de datos y de integridad referencial. Aseguran que las operaciones relacionadas se realizan juntas de forma implcita. Respuesta instantnea ante un evento auditado. Ofrece un mayor control sobre la B.D.

Desventajas de los triggers.


- Solo se pueden aplicar a una tabla especfica, es decir, un trigger no sirve para dos o

ms tablas - El trigger se crea en la base de datos que este trabajando. - Un Trigger devuelve resultados al programa que lo desencadena de la misma forma que un Stored Procedure aunque no es lo mas idneo, para impedir que una instruccin de asignacin devuelva un resultado se puede utilizar la sentencia SET NOCOUNT al principio del Trigger.

Son unidades de cdigo compuestas por una o ms sentencias Transact-SQL o TSQL y que son almacenados en el servidor. SPs nos dan la habilidad de extender el lenguaje T-SQL gracias a que podemos aadir nuestras propias subrutinas y procedimientos para las bases de datos SQL SERVER. Veamos la sintaxis. Como se pueden dar cuenta se inicia con un CREATE PROCEDURE seguido del nombre del SP. En el nombre se puede especificar el esquema, el nombre y el numero (opcional). El esquema siempre debe ser incluido ya que asegura que tu SP, es creado en el esquema apropiado. El procedure_name es el nombre que le asignamos a nuestro SP.

Modo de uso.
CREATE PROCEDURE [ schema_name. ] procedure_name [ ;number ] [ ( ] [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUT | OUTPUT ] ] [ , ...n ] [ ) ] [ WITH procedure_option [ , ...n ] ] [ FOR REPLICATION ] AS { sql_statement [;][ ... n ] }

Ventajas.
Ideal para un modelo en capas. Tiene una facilidad de aplicacin en proyectos profesionales. Hace el mantenimiento y las actualizaciones ms fcil. Permite hacer optimizaciones en la base de datos sin mucho esfuerzo (casi igual a la anterior), con todos los querys en el cdigo. Aprendes ms sobre el cdigo de T-SQL.

Desventajas
En proyectos dnde podemos hacer instalaciones contra diferentes servidores de bases de datos (MySQL, Oracle, SQL Server...) debemos mantener versiones diferentes de los SP para cada tipo de servidor ya que las sintaxis empleadas en el SQL que implementan cada uno de ellos difiere aunque sea en pequeos detalles.

S-ar putea să vă placă și