用动态SQL就可以。在存储过程中创建表TEMP
declare
v_str varchar(1000);
begin
v_str :=' CREATE TABLE TEMP (a number(10)) ';
execute immediate v_str;
end;
/
declare
v_str varchar(1000);
begin
v_str :=' CREATE TABLE TEMP (a number(10)) ';
execute immediate v_str;
end;
/
grant create any view to user;
grant create any view to user;
2 v_str varchar(1000);
3 begin
4 v_str:='create table temp2 (hm char(11))';
5 execute immediate v_str;
6 end;
7 /declare
v_str varchar(1000);
begin
v_str:='create table temp2 (hm char(11))';
execute immediate v_str;
end;ORA-06550: 行 5, 列 9:
PLS-00103: 遇到符号 "IMMEDIATE" 当等待下列其中之一时 :
:= . ( @ % ;
这是为什么啊?
只有动态sql语句才能用create