Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

PL/SQLでのオーバーライド

870220Jun 21 2011 — edited Jul 1 2011
お世話になります。加藤です。

PL/SQLにて実現可能かをご存じでしたら教えて頂きたいことがあります。

前提
 ①Functionがある(PKG_1とPKG_2)
 ②「SELECT PKG_1 FROM DUAL」のように、「PKG_1」を呼び出す。
 ③「PKG_1」は内部で「PKG_2」を呼び出し、戻り値を「PKG_1」の呼び出し元に返す。
 ④すべて同じスキーマ上に資源はある。

要望
 上記環境に、スキーマの追加やシノニム等を駆使して、「PKG_1」に手を入れることなく、「PKG_2」の呼び出しをオーバーライドすることは出来ないでしょうか。
 もしくは「PKG_1」に手を入れるのであれば極力修正が少ない方法は無いでしょうか。
 ただし、インスタンスを2つにしたり、スキーマを2つ等にしたりのように、同一の「PKG_1」が2箇所以上には無いようにしたいと思っています。

 具体的には下記の様に取得できたらと思います。
  ①AAAユーザーで「SELECT PKG_1 FROM DUAL」と実行すると、'Original'と結果が返ってくる。
  ②BBBユーザーで「SELECT PKG_1 FROM DUAL」と実行すると、'Modify'と結果が返ってくる。


何か方法やヒント等あればご教示頂けないでしょうか。

Edited by: user12983379 on 2011/06/20 23:54
例示のSQL文に誤りがあった為、修正しました。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 29 2011
Added on Jun 21 2011
2 comments
995 views