2017-10-16 113 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中工作。