我有一个使用dbms_sql包的PLSQL代码。例如,它从序列创建开始。
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的情况下发送了创建请求,用户确实有权创建序列。
我该怎么做才能摆脱这种不足的特权错误?
谢谢。
答案 0 :(得分:1)
通过角色授予的权限在PL / SQL中无效。您需要授予权限,直接为用户创建序列:
grant create sequence to the_user;
然后它也应该在PL / SQL中工作。