Ejemplos de Triggers en SQL Server

Clasificado en Informática

Escrito el en español con un tamaño de 3,33 KB

Trigger para mostrar un mensaje al insertar un usuario

2. Crear un disparador que al momento de ingresar un registro en la tabla "Usuario" muestre el mensaje "Se ingresó un usuario".
GO create TRIGGER TR_T7_1
ON Usuario
FOR INSERT
AS 
BEGIN 
  PRINT 'SE INGRESO UN USUARIO'
  END


Deshabilitar un Trigger

4. Deshabilite el Trigger.
ALTER TABLE Usuario
DISABLE TRIGGER TR_T7_1

Trigger para mostrar un mensaje al modificar un usuario

5. Crear un disparador el cual después de modificar un registro a la tabla "Usuario" muestre el mensaje "Se modificó un usuario".
GO CREATE TRIGGER TR_T7_2
ON Usuario
AFTER update
AS
BEGIN
PRINT 'Se modificó un usuario'
END

Ejecutar el Trigger de modificación

6. Realice el evento para que se ejecute las instrucciones del trigger.
update Usuario set Nombre = 'Pepe Maiz' 
where Nombre = 'GUSTAVO JIMENEZ LEAL'
SELECT * FROM Usuario !

Trigger para mostrar un mensaje en lugar de eliminar un registro

8. Realizar un trigger el cual en lugar de eliminar un registro a la tabla alumno solo muestre el mensaje "Se eliminó un registro".
GO CREATE TRIGGER TR_T7_3
ON usuario
INSTEAD OF delete
  AS
  BEGIN 
  PRINT 'SE ELIMINO REGISTRO'  
  END 

Eliminar un registro y ejecutar el Trigger

9. Elimine un registro
DELETE FROM Usuario
WHERE Nombre= 'Pepe Maiz' /

Trigger para registrar información de usuario y fecha al insertar un empleado

2. Crear un disparador que al momento de ingresar un registro en la tabla agregue el usuario y fecha en una nueva tabla con la siguiente estructura:
GO CREATE TRIGGER TR_T7_4
ON empleado
FOR INSERT
AS 
BEGIN 
  INSERT INTO Empleado_Info  values(SUSER_SNAME(), getdate())
  END

Trigger para registrar cambios en la tabla Empleado

3. Agregar un disparador que guarde aquellos cambios realizados en la tabla "Empleado" en la siguiente tabla:
create table Empleado_Log(
Descripcion  varchar(200))
go create trigger TR_T7_5
on Empleado
for update 
as
  begin
    declare @Descripcion varchar (200)  set @Descripcion=' Se modifico ' 
 
  if update(Id_Empleado)  select @Descripcion=@Descripcion + ' el Id Empleado de: '+cast(D.Id_Empleado as varchar (10))+' a '+ cast(I.Id_Empleado as varchar(10))  from deleted as D, inserted as I
  if update(Nombre)  select @Descripcion=@Descripcion + ' el Nombre de: '+D.Nombre +' a '+I.Nombre   from deleted as D, inserted as I 
 if update(Departamento)  select @Descripcion=@Descripcion + ' el Departamento de: ' + D.Departamento + ' a '+ I.Departamento  from deleted as D, inserted as I  insert into Empleado_Log(Descripcion)  values(@Descripcion)  
end

/div>

end

Entradas relacionadas: