Yo hace un tiempo había publicado un post referente a el uso de Triggers en SQL Server (http://alexjimenez.wordpress.com/2007/08/13/uso-de-triggers-en-sql-server) y uno de los visitantes al sitio dejo un pequeño ejemplo de como se puede usar los Triggers así que muchísimas gracias Jeyson (jmmb) por el aporte que dejaste en mi blog.
Aquí el ejemplo:
1: Create Table usuarios(
2: cedula char (20) NOT NULL,
3: descripcion char (20) null,
4: primary key(cedula),
5: )
6: INSERT into usuarios values ('1082908272','Administrador')
7: select * from usuarios
8: insert into Auditoria values ('1082908272','Sistemas','26/12/1989')
9: select * from Auditoria
10: Create Table Auditoria(
11: cedula char (20) NOT NULL,
12: modulo char (20) null,
13: Fecha_hora Datetime,
14: )
15: select * from Auditoria
16: Create Trigger eliminar
17: On usuarios
18: Instead Of Delete
19: As
20: Insert Into Auditoria Select cedula,descripcion,GetDate() From deleted D
21: Where EXISTS(Select cedula From usuarios Where cedula=D.cedula)
22: Delete from usuarios where cedula=(select cedula From deleted D
23: Where cedula=D.cedula)
24: Delete usuarios where cedula = '000000'
25: select * from auditoria
26: select * from usuarios
27: Insert Into usuarios Values ('123456','asociado')
28: Insert Into usuarios Values ('000000','invitado')
29: create TRIGGER actualizar
30: on usuarios
31: Instead Of update
32: AS
33: IF update (descripcion)
34: BEGIN
35: SET NOCOUNT ON;
36: RAISERROR ('Imposible actualizar los registros',16, 1)
37: ROLLBACK TRAN
38: END
39: GO
40: select * from usuarios
41: UPDATE usuarios
42: SET descripcion='empleado'
43: WHERE descripcion = 'asociado'
44: CREATE TRIGGER SEGURIDAD
45: ON DATABASE FOR Create_table,DROP_TABLE, ALTER_TABLE
46: AS
47: BEGIN
48: RAISERROR ('Imposible crear, borrar ni modificar tablas,Faltan permisos...' , 16, 1)
49: ROLLBACK TRANSACTION
50: INSERT Auditoria VALUES ('','',GetDate())
51: END
52: Disable Trigger SEGURIDAD On Database
53: Enable Trigger actualizar On usuarios
Hola como estas tus aportes estan full perom quiisera saber si me puedes ayudar con unas cosas de trigger que nesesito superurgente mi correo es el seiguiente martin141516@hotmail.com
buen aporte y seria bueno mas ejemplos