Utiliza DELETED en vez de INSERTED

Saludos
Marcelo Colombani
  ----- Original Message ----- 
  From: Carlos Adolfo Codesido 
  To: Marcelo 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.

Responder a