上面的打字错了,应是:
create or replace procedure xxxx
AS
nSQL NUMBER;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE( nSQL, 'create table aa as select * FROM bb',
Sys.DBMS_SQL.v7 ) ;
DBMS_SQL.CLOSE_CURSOR( nSQL);
end YG_DFInitProc;但这样在pl/sql developer中可以执行!!
declare
nsql NUMBER;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE( nSQL, 'create table aa as select * FROM bb',
Sys.DBMS_SQL.v7 ) ;
DBMS_SQL.CLOSE_CURSOR( nSQL);
end YG_DFInitProc;
create or replace procedure xxxx
AS
nSQL NUMBER;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE( nSQL, 'create table aa as select * FROM bb',
Sys.DBMS_SQL.v7 ) ;
DBMS_SQL.CLOSE_CURSOR( nSQL);
end YG_DFInitProc;但这样在pl/sql developer中可以执行!!
declare
nsql NUMBER;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE( nSQL, 'create table aa as select * FROM bb',
Sys.DBMS_SQL.v7 ) ;
DBMS_SQL.CLOSE_CURSOR( nSQL);
end YG_DFInitProc;
解决方案 »
- 数据库-关于丢失更新和乐观锁的那些故事
- 怎样从服务器导出oracle数据库
- 请问Imp-00041:警告:创建的对象带有编译警告的错误怎么解决
- 求救,oracle10g 调用 webservice 问题!
- oracle中select * from tablename where c_cg=''
- 请教比对字符串的问题?
- 两个应用系统的后台数据库能够用一套数据库系统吗?
- 请问一个select * 的sql语句
- p4 机器 oracle 9i 安装不行
- 请教Oracle高手,在下初学,想请问Oracle9i能装在Win2000Server版下吗?
- 关于JOB_QUEUE_PROCESSES的值
- 必须在使用 PL/SQL 之前创建 DBMS_STANDARD?
create or replace procedure xxxx
AS
begin
execute immediate 'create table aa as select * FROM bb';
end YG_DFInitProc;
v_cursor number;
v_string varchar2(200);
v_row number;
begin
v_cursor:=dbms_sql.open_cursor;
v_string:='create table testdb (text varchar2(200))';
dbms_sql.parse(v_cursor,v_string,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursor);
dbms_sql.close_cursor(v_cursor);
return ('成功执行'||v_row||'行!');
exception
when others then
dbms_sql.close_cursor(v_cursor);
return ('执行失败!'||sqlcode||sqlerrm);
raise;
end;oracle 8.1.7测试通过.
把建立表的权限赋予用户GRANT CREATE TABLE TO USER_NAME;
GRANT CREATE TABLE TO USER_NAME;