2017-10-16 112 views
-2

我有一個使用dbms_sql包的PLSQL代碼。例如,它從序列創建開始。使用dbms_sql的權限不足

request:= 'CREATE SEQUENCE ' || utilisateur || '.' || 'seq_fusion_table 
       MINVALUE 1 
       START WITH 1 
       INCREMENT BY 1'; 
dbms_sql.parse(curseur_ref, request, dbms_sql.native); 
response := dbms_sql.execute(curseur_ref); 

我有一個錯誤:

ORA-01031: insufficient privileges 

我以爲用戶不能使用DBMS_SQL所以我發這個請求:

GRANT execute on DBMS_SQL to user; 
commit; 

而只是要確定我發送的創建請求而不使用dbms_sql,而且用戶有權創建序列。

我該怎麼做才能擺脫這個不足的特權錯誤?

謝謝。

回答

1

通過角色授予的權限在PL/SQL中處於非活動狀態。您需要授予的權限,創建直接序列用戶:

grant create sequence to the_user; 

那麼它也應該從PL/SQL中工作。