Oracle の疑似バージョン管理とリポジトリを実装しようとしています。アイデアは、保存された関数/プロシージャが変更されたとき、または作成されたグローバル DATABASE トリガーが起動されたときです。これにより、変更されたオブジェクトの現在のソースが取得され、テーブルに保存されます。だから私は2つのトリガーを使用しています:
TRIGGER BEFORE_MODIFY before ALTER or CREATE ON DATABASE
TRIGGER AFTER_MODIFY after ALTER or CREATE ON DATABASE
AFTER_MODIFY トリガーがコンパイル済みオブジェクトの古いバージョン (ソース) を参照することを除いて、すべて正常に動作します。からソースを取得しようとSYS.SOURCE$.SOURCE
しましたがdbms_metadata.get_ddl(OBJ_TYPE, OBJ_NAME, OBJ_OWNER)
、同じ結果が得られました。
「Oracle 10g+ではできない」などのアドバイスや明確な回答を求めています。