Muchas gracias Marcelo y Mariano, cambié INSERTED por DELETED y marchó con fritas, yo tampoco me di cuenta de este error hasta que me lo hicieron ver. Nuevamente muchas gracias.
Carlos Adolfo Codesido _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Marcelo Colombani Enviado el: domingo, 28 de octubre de 2007 23:01 Para: Carlos Adolfo Codesido Asunto: [dbms] Trigger antes de ejecutar cambios en una tabla Utiliza DELETED en vez de INSERTED Saludos Marcelo Colombani ----- Original Message ----- From: Carlos Adolfo <mailto:[EMAIL PROTECTED]> Codesido To: Marcelo <mailto:[EMAIL PROTECTED]> Colombani Sent: Friday, October 26, 2007 9:57 PM Subject: [dbms] Trigger antes de ejecutar cambios en una tabla Estimados Listeros: Tengo un pequeño inconveniente con un trigger que quiero implementar. La idea es que cuando hago un update en una tabla me dispare este trigger y me copie el registro a actualizar en una tabla de Log. Ahora bien, este trigger funciona bien cuando utilizo la sentencia AFTER, me copia dicho registro en la tabla de respaldo, pero yo lo que quiero es que me lo ejecute antes de la actualización de manera tal que me respalde dicho registro en su estado original antes de la actualización. La sintaxis del trigger es la siguiente: CREATE TRIGGER TR_Config_Log BEFORE UPDATE ON Config FOR EACH ROW AS BEGIN SET NOCOUNT ON; INSERT INTO bdLog.dbo.Config_Log (ID, Valor) SELECT * FROM INSERTED END El error que me tira es el siguiente: Línea 2: sintaxis incorrecta cerca de 'BEFORE'. Si utilizo la sentencia AFTER lo ejecuta y funciona Ok. Pero como dije antes, me carga los registros ya actualizados, lo cual no me sirve. Alguien podría darme una mano con esto? Desde ya muchas gracias a todos.
