Uso de Triggers en SQL Server (Comentario de Jeyson)

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

Publicado por

Alex Jimenez

Soy amante a la tecnología, dedicado al desarrollo de aplicaciones Web ReactJS, WCF, MVC, WebApi y antiguo MVP en ASP .net 2009-2012

2 comentarios sobre “Uso de Triggers en SQL Server (Comentario de Jeyson)”

Responder a anonymous Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *