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.