madecapital.com
thefinancialtrading.com
grandesbodas.com
mundoface.com
goodtradings.com
good-trades.com
lasjugueterias.com
takenprofit.com
takesprofit.com
thetradingexperience.com
Hola que tal a todos, resulta que estoy queriendo hacer unas tablas de logueo para resguardar todos los cambios que se hicieron en una tabla, los datos anteriores y los nuevos, asi como los autores, la hora y demas...
Resulta que segun tengo entendido esto se hace mediante triggers, pero tengo el convencimiento de que tiene que haber una manera de decirle al motor de sql server que lo haga para todas las tablas de la base de datos,... por ejemplo, si en mi bd tengo 120 tablas, si lo hago por triggers tendria que hacer 360 triggers, cosa que se torna un poco pesado ... pero si yo le pudiera decir "para todas las tablas de la base de datos 'Profesores de Arquitectura' generar una tabla de log con el mismo nombre antecedido por LOG_"...
Es esto posible o estoy ilusionado con algo irreal!?
Saludos a todoss!
Comentarios
Hola como estas !, te comento la manera de loguear la info necesaria es mediante triggers DML utilizando las tablas temporales del DBMS inserted and deleted. Con respecto a si tenes que crear 360 triggers no es necesario, dependiendo de lo que queres hacer, pues un trigger puede ser definido para las tres operaciones. Te paso un ejemplo, donde esta definido para las tres y posees los datos anteriores y posteriores de la modificación de la tabla.
CREATE TRIGGER GrabaTablaLog
ON dbo.SAFE
AFTER INSERT, UPDATE, DELETE
AS
SELECT *
FROM deleted
SELECT *
FROM inserted
GO
UPDATE dbo.SAFE SET cod = '9999' WHERE cod = '1100'
Espero te sirva,
Abrazo Virtual !. JLopez