ccc

Triggers: SQL Server

Se pueden crear fácilmente desde MSSMS o directamente mediante SQLs.

Hay que tener en cuenta que SQL Server cada vez que hace una inserción en una tabla crea una tabla temporal (que luego borra) llamada Inserted.

Si hace un delete crea una tabla temporal llamada deleted

Si hace un update crea las tablas temporal deleted e inserted.

Para crear los triggers sería:
create trigger TR_productoInsertado
on productos for insert
AS
declare @cod_prod varchar(4)
select @cod_prod = cod_prod from inserted
insert into historial values (getdate(), @cod_prod, 'insertado', system.user)

create trigger TR_productoEliminado
on productos for delete
AS
declare @cod_prod varchar(4)
select @cod_prod = cod_prod from inserted
insert into historial values (getdate(), @cod_prod, 'eliminado', system.user)

create trigger TR_productoActualizado
on productos for update
AS
declare @cod_prod varchar(4)
select @cod_prod = cod_prod from inserted
insert into historial values (getdate(), @cod_prod, 'actualizado', system.user)

Importante: de las tablas temporales te permite extraer cualquier campo salvo el ID

Más información en:
https://www.youtube.com/watch?v=jLk4BtAKZUM

No hay comentarios:

Publicar un comentario