しばらくの間、Oracle のパッケージまたはストアド プロシージャにパブリック シノニムへの参照を追加しようとしましたが、テーブルに直接アクセスする以外にこの問題の解決策があるかどうか疑問に思っています。例えば:
CREATE OR REPLACE PROCEDURE test_func AS
test_int INTEGER;<br>
BEGIN<br>
select count(*) INTO test_int FROM test_synonym;
END;
/
この手順が何もしないことはわかっていますが、これは単なる例です。テーブル「test_synonym」は、実際には別のスキーマ内のテーブルに対するパブリック シノニムです。そのテーブルへの選択権限はありますが、これを繰り返しコンパイルしようとするとエラーが発生します。
Error(5,38): PL/SQL: ORA-00942: table or view does not exist
御時間ありがとうございます。