Creacion de Trigger en SQLSERVER

La creacion de un trigger en SLQSERVER se hace asi.En este caso cada vez que haya una insercion en la tabla RegistroTemporal, se ejecutaria este trigger.Este trigger no hace nada, solo mostrar en el cuadro de resultado de SQLSERVER lo que se metio.
Aca tenemos una tabla Inserted que nos dice cual registro se metio
SELECT celular FROM Inserted. Bien podriamos traer todos los datos de la tabla RegistroTemporal que se introdujeron, tipo Select @dato1=dato2,@dato2=dato2 from Inserted y luego trabajar con estas variables, en el trigger, para hacer algo.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[trigInsertar]
ON [dbo].[RegistroTemporal]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Celular VARCHAR(20)

Set @Celular = (SELECT celular FROM Inserted)

PRINT 'Celular ' + @Celular + '" agregado.'

END





Aca vimos un trigger para que se ejecuta al insertar un registro pero podriamos tambien hacer un trigger para borrar y actualizar ( DELETE,UPDATE )
Vimos arriba que utilizamos una tabla especial llamada Inserted. Tambien hay la tabla deleted.Estas tabla mantiene los ingresados y borrados.
¿No existe una tabla UPDATED? No, hacer una actualización es lo mismo que borrar (deleted) e insertar los nuevos (inserted). La sentencia UPDATE es la única en la que inserted y deleted tienen datos simultaneamente.

Comentarios