Vous pouvez utiliser coalesce()
, qui renvoie le premier de ses arguments qui est 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;
Il peut être difficile de choisir le deuxième argument. L'exemple ci-dessus fonctionne pour le cas courant où a, b et c sont des chaînes et lorsqu'une valeur de chaîne vide équivaut à un null
valeur.