ユーザーが別のスキームにアクセスできないようにする必要がありますが、ストアド プロシージャは別のスキーマにアクセスできます。
質問する
7806 次
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 に答える