Triggers

Hector
28 de Enero del 2005
Tengo creado un trigger que se ejecuta al hacer un insert, un delete o un update sobre la tabla. La cuestion es que dentro del trigger me gustaria saber si lo que lo lanzo fue una inserccion, un borrado o una modificacion.

simulador
28 de Enero del 2005
Hola creo que lo que quieres seria algo asi:
dentro del cuerpo del trigger preguntassi el trigger a saltado por una mofificacion con este codigo if updating(\'campo\') then,igual con borrar deleting y con insertar inserting

guyver
28 de Enero del 2005
En realidad lo que puedes hacer es el commando no es IF UPDATING(columna), sino IF UPDATE(columna).
Otra forma de darte cuenta si lo que hizo fue un INSERT o un DELETE es fijandote en las tablas INSERTED y DELETED que solo estan disponibles en tiempo de ejecuci贸n. Asi por ejemplo, si la tabla INSERTED tiene al menos un registro y la tabla DELETED tambien, entonces quiere decir que se hizo un UPDATE, si por el contrario solo la tabla INSERTED tiene registros, eso quiere decir que se hizo un INSERT.

emiliomiguez
28 de Enero del 2005
Si lo que deseas es una especie de auditor铆a puedes crearte una tabla aparte e insertar la acci贸n, adem谩s de todos los datos que creas oportunos, en dicha tabla.