上面的打字错了,应是:
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 临时表的使用问题
- 水晶报表的SQL表达式哪里错了,请大侠帮忙看看
- 一个撤销job的问题?
- tomcat链接oracle数据库报错 求大神解决
- xp下装oracle setup没有反映,请问什么原因,急在线等
- 首选身份
- 请问怎么在ado对象里访问dbms_output.put_line('kkkkkkkkkkkk')输出的值?
- 请问能否在Red Hat 7.0下Oracle8i使用汉字?
- Oracle使用SYS用户SYSDBA权限恢复数据到orcl表空间是EP,新创建的ep用户默认表空间是EP无法访问数据表
- 关于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;