Updates en triggers URGENTE!!!

Alfonso
13 de Agosto del 2004
Amigos tengo un trigger para que cada ves que se hace una actualización a una tabla inserta los valores que cambiaron en otra tabla. El problema es que no debo usar if's para preguntar si ha cambiado un dato de alguna columna como se muestra en el código de abajo. Saben alguna otra manera de hacerlo ??. Necesito su ayuda urgente !!

set term !;
create exception NoPermitida "Operación no permitida"!

create trigger UpdPedidoCliente for PedidoCliente
active before update as
begin
if (old.Numero <> new.Numero) then
exception NoPermitida;
update Pedidos
set Fecha = new.Fecha, Enviado = new.Enviado
where Numero = old.Numero;
if (old.Nombre <> new.Nombre) then
update Clientes
set Nombre = new.Nombre
where Nombre = old.Nombre;
end!

MJPP
13 de Agosto del 2004
Puedes hacer un trigger de update a nivel de columnas en vez de tabla asi cuando cambie alguna de la(s) columna(s) es cuando salta el trigger.

CREATE OR REPLACE TRIGGER nombre_trigger BEFORE UPDATE OF campo1,campo2
ON Tabla
FOR EACH ROW ...

dentro de este trigger si pùedes preguntar por

IF :NEW.campo1 <> :OLD.campo1 THEN
end if;

mjpp
13 de Agosto del 2004
Una cosa q se me ha olvidado observo en el script q has enviado q preguntas por old y new sin los dos puntos y así creo q no funciona luego tampoco entiendo lo de la palabra "active" en la declaración del trigger