2
我有一個用AUTHID DEFINER參數在USER A架構上創建的過程。如果該過程不存在,此過程將創建一些表,稍後它會在所有表中插入操作。AUTHID DEFINER param不起作用
此參數在插入操作中正常工作,但不在創建表操作中。我從稱爲USER B的另一個用戶調用該過程,因此參數在理論上應允許USER B以USER A的身份執行過程,並在USER A模式中創建表,然後插入所有數據。
任何人都知道爲什麼當我調用它時程序返回的權限不足錯誤?我試圖直接在USER A架構中執行「create table」語句,它可以工作...
謝謝。
特權是如何應用的?由角色(例如角色DBA)?它必須顯式授予,如'授予CREATE CREATE TABLE TO USER_A;' –
我不確定要理解你的意思,但是當我執行「select * from session_privs;」時用戶B只具有CREATE SESSION AND SYNONYM權限。另一方面,USER_A也具有CREATE TABLE特權和其他... – Maik
您是否授予procedure_XY對USER_B的執行權限;'? –