1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
PROCEDURE "COMPARE_CHAMPS"
(
p_anciennes_valeurs IN MATABLE%ROWTYPE,
p_nouvelles_valeurs IN MATABLE%ROWTYPE
) IS
ancienneVal VARCHAR(250);
nouvelleVal VARCHAR(250);
BEGIN
FOR maligne in (SELECT * FROM MATABLE_COLONNES) LOOP
-- Pour chaque colonne à surveiller, on regarde si la valeur a changée.
EXECUTE IMMEDIATE 'SELECT p_ancien_trade.'||TMCRow.TMC_NOM||' FROM DUAL' INTO ancienneVal;
EXECUTE IMMEDIATE 'SELECT p_nouveau_trade.'||TMCRow.TMC_NOM||' FROM DUAL' INTO nouvelleVal;
IF ancienneVal<>nouvelleVal THEN
-- La valeur a changé, on insère la modif.
END IF;
END LOOP;
END COMPARE_TRADES; |
Partager