Actualiza otra tabla con un trigger solo si se modifica una columna con sql server

En algún momento nos vamos a topar con la tarea de crear un Trigger que nos actualice un campo de una tabla2 después de borrar o actualizar un registro de una tabla1.

Aquí les dejo una opción de como podemos hacerlo mediante la creación de un desencadenador (Trigger).

Supongamos que tenemos un sistema o software para llevar el registro de empleados de uno o varios clientes. Tenemos una tabla en la cual registramos todas nuestras empresas clientes (tabla1). Y tenemos en otra tabla (tabla2) a nuestros empleados de cada cliente.

Ahora bien, queremos cambiar el estatus de nuestros empleados solamente si la columna de estatus de nuestra tabla1 sufre alguna modificación.

La solución sería:

[sourcecode language="sql"]

 CREATE TRIGGER OCULTA_EMPLEADOS
 ON EMPRESAS
 AFTER UPDATE
 AS
 BEGIN
 IF UPDATE (ESTATUS) -- sólo si actualiza estatus
 BEGIN
 IF ((SELECT ESTATUS FROM INSERTED) = 4)
 BEGIN
 UPDATE EMPLEADOS
 SET ESTATUS = 99
 where idempresa = (SELECT IDEMPRESA FROM INSERTED)
 END
 END
END
[/sourcecode]

Este es un caso ejemplo de una actualización mediante desencadenadores de un sistema de empleados.

Espero que les sirva.

 

Comments

comments

Deja un comentario

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