1

ユーザーが別のスキームにアクセスできないようにする必要がありますが、ストアド プロシージャは別のスキーマにアクセスできます。

4

2 に答える 2

5

あなたが説明していることは不可能です。

b.procedureで選択、挿入、更新、または削除できる場合はa.table、 としてログインしているすべてのユーザーbがそうすることができます。

代わりに行うべきことは、プロシージャa.procedureとを作成することgrant execute on a.procedure to bです。

于 2012-10-29T11:16:08.043 に答える
3

権限はオブジェクトには付与できず、ユーザーまたはロールにのみ付与されます。

この粒度の制御を実装する方法は、他のスキーマが独自のテーブルで動作する手順を定義することです。次に、プロシージャの実行を他のユーザーに許可します。これは、スキーマ オブジェクトに対する操作をカプセル化する、プロシージャの貴重な使用例の 1 つです。

PL/SQL オブジェクトの権限を制御するメカニズムは AUTHID です。CURRENT_USER と DEFINER の 2 つのオプションがあります。この場合、定義者の権限を使用しますAUTHID DEFINER(これがデフォルトです)。 詳細をご覧ください

于 2012-10-29T12:07:49.380 に答える