Ver Mensaje Individual
  #6  
Antiguo 12-11-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 26
guillotmarc Va por buen camino
Hola.

Cita:
Empezado por Gallosuarez Ver Mensaje
El_Raso:

Mira, en mi caso hice una pequeña consulta que me genera el código que después inserto en mi procedimiento almacenado. Básicamente lo que hace esta consulta es utilizar las tablas del sistema para obtener TODOS los campos de la tabla especificada en la clausula WHERE y generar el código que se necesita para cada campo involucrado en dicha tabla.
Código SQL [-]SELECT 'IF (NEW.' || TRIM(RDB$FIELD_NAME) || ' IS DISTINCT FROM OLD.' || TRIM(RDB$FIELD_NAME) || ') THEN REG_CHANGES;' FROM RDB$RELATION_FIELDS WHERE RDB$RELATION_NAME = 'NOMBRE_TABLA'


Adecua la a tus necesidades, ignoro si existe algún otro truco que nos facilite este trabajo.

Saludos
Gerardo Suárez Trejo

P.D. Estaremos atentos a ver si alguien mas ha hecho algo al respecto.
¿ Esto te funciona ?.

Yo lo he intentado varias veces, pero al ejecutar ese comando con un EXECUTE STATEMENT, se hace en un contexto distinto y las variables NEW.XXX y OLD.XXX no se reconocen (incluso aunque el comando se ejecute en el mismo trigger).

¿ Puedes poner un poco más de código para ver como lo haces ?. Me interesa mucho.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita