J'essaie d'implémenter un contrôle de version pseudo et un référentiel pour Oracle. L'idée est la suivante: lorsqu'une fonction/procédure stockée est modifiée ou qu'un déclencheur DATABASE global créé est déclenché, ce dernier récupère les sources actuelles d'un objet modifié et les stocke dans une table. Je suis en utilisant deux déclencheurs:Oracle APRES/BEFORE CREATE ON DATABASE déclencheur: comment accéder aux sources d'objets
TRIGGER BEFORE_MODIFY before ALTER or CREATE ON DATABASE
TRIGGER AFTER_MODIFY after ALTER or CREATE ON DATABASE
Tout fonctionne très bien, sauf la gâchette AFTER_MODIFY voit une ancienne version (sources) de l'objet compilé. J'ai essayé d'obtenir des sources de SYS.SOURCE$.SOURCE
et un deuxième essai de dbms_metadata.get_ddl(OBJ_TYPE, OBJ_NAME, OBJ_OWNER)
avec les mêmes résultats.
Je suis à la recherche de conseils ou d'une réponse définitive telle que "Vous ne pouvez pas le faire dans Oracle 10g +".
Merci Gary, qui me aide et fonctionne très bien. – Dimus