viernes, 14 de septiembre de 2007

Creación de trigger

Un trigger ayuda a gestionar de una mejor forma la información que se encuentra en la BD. De este modo cuando la información sea modificada, podrán ejecutarse acciones diversas. Ejemplos de ello pueden ser:
1. Al eliminar un registro se eliminen otros cuantos de otras tablas
2. Al insertar un registro se lleve a cabo una validación
3. Al actualizar un registro, actualizar otras tablas
4. Al insertar un registro, insertar otros cuantos en otras tablas

Para crear un trigger sólo hace falta ejecutar una sentencia como la siguiente, colocando los textos en negritas con sus valores correspondientes. En este caso el trigger aplica justo después de haber insertado un nuevo registro en MiTabla2.


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE TRIGGER [NombreDelTrigger]
ON [dbo].[MiTabla2]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

IF (SELECT COUNT(*) FROM MiTabla2, inserted WHERE (MiTabla2.IdUsuario = inserted.IdUsuario)) > 10
BEGIN
RAISERROR('No se pueden insertar mas de 10 registros para un usuario', 16, 1)
ROLLBACK TRANSACTION
END

END
GO

No hay comentarios: