プロシージャ内からユーザーにロールを付与したいとします。たとえば、私はjsmithとしてログインしており、SQLウィンドウから行くことができます:Oracleでは、プロシージャ内からユーザーにロールを付与します。
EXECUTE IMMEDIATE 'grant some_role to rjones';
これは正常に実行されます。
しかし、私は、このような手順で作成した場合:私は、私は次のエラーを取得する手順を実行すると
CREATE OR REPLACE PROCEDURE MY_ROLE_GRANTING_PROCEDURE
IS
BEGIN
EXECUTE IMMEDIATE 'grant some_role to rjones';
END;
:
ORA-01932: ADMIN option not granted for role 'some_role'
私が私の手順と同じにに付与する必要があるようですがユーザーjsmithとしての役割付与機能はありますが、その方法はわかりません。また、私はjsmithとしてプロシージャを作成したので、プロシージャに対する実行権限は問題ではありません。
これは私の問題を解決しました。ありがとう、sstan! – MrMike