- 论坛徽章:
- 0
|
存储过程里面有下面一段:
iv_execstring := 'create table '||v_objectname||'_temp as '||
'select * from '||v_objectname;
BEGIN
EXECUTE IMMEDIATE iv_execstring;
EXCEPTION
WHEN OTHERS THEN
v_returninfo := sqlerrm;
RETURN;
END;
结果报ORA-01031: insufficient privileges
可语句拿出来执行,确实可以成功建表的,怎么回事?
把
EXECUTE IMMEDIATE iv_execstring;
换成
iv_dbms_cursor:=DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(iv_dbms_cursor,iv_execstring,DBMS_SQL.V7);
iv_count:=DBMS_SQL.EXECUTE(iv_dbms_cursor);
DBMS_SQL.CLOSE_CURSOR(iv_dbms_cursor);
还是报同样的错误
ORA-01031: insufficient privileges
。
怎样设置才能在存储过程里面建表? |
|