create or replace procedure pcdcd_create_table()
as
begin
var_sql= 'create table dfdfs as select * from t_member_info';
end;上面这个存储过程执行不了 ,我在命令窗口下面执行的时候 报错:pcdcd_create_table()无效执行create table dfdfs as select * from t_member_info 是可以的
为什么 放在存储过程里面就不呢 ,而且我 的存储过程 已经在表中了 我查看斗已经存在了
请高人指点下
as
begin
var_sql= 'create table dfdfs as select * from t_member_info';
end;上面这个存储过程执行不了 ,我在命令窗口下面执行的时候 报错:pcdcd_create_table()无效执行create table dfdfs as select * from t_member_info 是可以的
为什么 放在存储过程里面就不呢 ,而且我 的存储过程 已经在表中了 我查看斗已经存在了
请高人指点下
create or replace procedure pcdcd_create_table
as
begin
execute immediate 'create table dfdfs as select * from t_member_info';
end;
/
--最好执行时加入判断是否表已存在
--加入判断后的
create or replace procedure pcdcd_create_table
as
row number:=0;
begin
select count(1) into row from tab where upper(tname)=upper('dfdfs');
if row=0 then
execute immediate 'create table dfdfs as select * from t_member_info';
end if;
end;
/
--exec pcdcd_create_table;
execute immediate DDL语句;
V_SQL 没有定义.
V_SQL 的赋值应该使用 :=