私は PL/SQL の初心者なので、この質問が正しいかどうかわかりません。Oracle 11g で (スキーマではなく) パッケージの下にあるストアド プロシージャの object_id を見つけようとしています。SP の object_Id を含める必要があると思われる次のシステム テーブル/ビューをクエリしようとしました。
- All_procedures
- User_obects
All_procedures ビューには、探している SP の名前が含まれていますが、パッケージのオブジェクト ID しか含まれていません。パッケージの下にあるストアド プロシージャの object_id を見つけたい理由は次のとおりです。
私が話した PL/SQL プログラマーの何人かは、パッケージの下の SP/関数はオブジェクトとは見なされないと言いました。理由を理解したい。
同じパッケージの下にある他の SP の中で、この SP が参照される数を知りたいです。public_dependency ビューにこのマッピングが含まれていることを願っています。
SP/関数がパッケージの下のオブジェクトとして識別されない場合、特定の SP を参照する SP のリストを取得するにはどうすればよいですか?
別の質問を Stackoverflow に投稿したところ、リンクにたどり着きました。ストアド プロシージャの依存関係をプログラムでどのように識別しますか? . しかし、user_objects にはパッケージの下にストアド プロシージャのエントリがないため、この投稿に記載されているスクリプトは役に立ちませんでした。スキーマの下に SP のみがあります。