- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロシージャの共有について)
プロシージャの共有について
このQ&Aのポイント
- プロシージャやファンクション、パッケージ等のソース内に書かれたDMLは基本的に自分のスキーマが参照対象なので、(ユーザは異なるが)同一構造のスキーマが複数存在する場合はスキーマ毎に同じプロシージャ等を用意する必要がありますが、このソースを(動的SQLを使わずに)一つのスキーマで一元管理することはできないでしょうか。
- たとえば下記の状態で、スキーマA(またはB)から、スキーマCのTEST_FUNCTIONを呼び出し、実際はスキーマA(またはB)のTEST_TABLEを参照したい場合です。大変お手数ですが、宜しくお願い致します。
- create function TEST_FUNCTION return NUMBER is nRET NUMBER; begin SELECT COUNT(*) INTO nRET FROM TEST_TABLE; return nRET; end;
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 > 一つのスキーマで一元管理・・・ ストアド・ファンクションを、実行者権限で定義すれば可能です。 Create function ~ return number AUTHID CURRENT_USER is ・・・ としてみて下さい。
お礼
素晴らしいです! 本当に助かりました。ありがとうございました!