Você pode usar
coalesce()
, que retorna o primeiro de seus argumentos que é not null
. if coalesce(old.a,'') <> coalesce(new.a,'') or
coalesce(old.b,'') <> coalesce(new.b,'') or
coalesce(old.c,'') <> coalesce(new.c,'')
then
insert ...;
end if;
Pode ser complicado escolher o segundo argumento. O exemplo acima funciona para o caso comum quando a, b e c são strings e quando um valor de string vazio é equivalente a um
null
valor.