[oracle 9i] Trigger, gestion dynamique du :old et :new
Voila je m'explique, je fait plusieurs trigger sur plusieurs table, chaque trigger a pour but d'historiser la table (dans d'autre tables).
le problème c'est que je dois faire un truc du genre :
Code:
1 2 3 4 5 6 7 8
|
if :new.société <> :old.société then
-- et la j'insert dans ma table
end if;
if :new.libelle <> :old.libelle then
-- et la j'insert dans ma table
end if;
..... |
J’aurai aimé savoir si il était possible de passer en revue toute les colonnes, j'ai en effet 80 champs par table et 5 a 6 table à passer en histo, de plus j'aimerai que si on ajoute un champ à la table cela soit dynamique.
Cela donnerai un truc du genre :
Code:
1 2 3 4 5 6
|
for j in 1..80 loop
if :new.(j) <> :old.(j) then
-- et la j'insert dans ma table
end if;
END LOOP; |
bien sur 80 sera remplacer par le nombre de colonnes de la table.
Es ce possible, ou mes espoirs sont vains ???