我想從過程內向用戶授予角色。例如,我以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,因此對該過程的執行權限不應該成爲問題。
這解決了我的問題。謝謝,斯坦! – MrMike