3

関数が別のスキーマの [B] テーブル [tableB] を呼び出すパッケージを含むスキーマ [A] があります。パッケージをコンパイルすると、「テーブルまたはビューが終了しません」というエラーが表示され、ググったところ、パッケージが別のスキーマのテーブルを呼び出していることが原因であることがわかりました。後で、呼び出されたスキーマで特権を付与する必要があることがわかりました[B]。スキーマ B のパッケージでは、次のコードを書きました

手順 givePrivilege begin GRANT SELECT ON tableB TO A; 終わり;

私はオラクルに不慣れで、私は打たれました。

4

2 に答える 2

6

次の手順を実行します:

1) スキーマ B にログインします
。2) ステートメントを実行しますGRANT SELECT ON tableB TO A;
。3) パッケージで、tableB が B.tableB として参照されていることを確認します。4
) パッケージをコンパイルします。

于 2012-07-09T16:27:43.153 に答える
2

SELECTB として、テーブルに対する A 権限を付与するだけで済みます。権限を付与するプロシージャを作成する必要はありません。GRANTB としてログインしている間にステートメントを実行するだけです。

GRANT SELECT ON tableB
   TO a
于 2012-07-09T16:27:27.567 に答える