Welcome to oracle_awen's archive blog
SQL> ed
已写入 file afiedt.buf

1 create or replace procedure awen_test_create
2 as
3 v_sql varchar2(600);
4 vrow int;
5 i int;
6 l_rowcount number;
7 begin
8 v_sql:='create table a2 (id number(8))';
9 vrow:=dbms_sql.open_cursor;
10 dbms_sql.parse(vrow,v_sql,dbms_sql.V7);
11 i:=dbms_sql.execute(vrow);
12* end awen_test_create;
SQL> /

过程已创建。

SQL> exec awen_test_create;
BEGIN awen_test_create; END;

*
第 1 行出现错误:
ORA-01031: 权限不足
ORA-06512: 在 "SYS.DBMS_SYS_SQL", line 906
ORA-06512: 在 "SYS.DBMS_SQL", line 39
ORA-06512: 在 "AWEN.AWEN_TEST_CREATE", line 10
ORA-06512: 在 line 1

SQL> conn / as sysdba
已连接。

SQL> grant create table to awen;

授权成功。

SQL> grant create any synonym to awen;

授权成功。

SQL> grant create any view to awen;

授权成功。

SQL> conn awen/oracle;
已连接。

SQL> exec awen_test_create;

PL/SQL 过程已成功完成。

SQL> desc a2;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------

ID NUMBER(8)
添加评论

昵称 *

E-mail (防止垃圾信息,此栏留空)