==========================
其實就是想動態生成ring_all_old_200606和ring_all_old_200606_tmp
這兩個表名讓下面使用
但老是編譯出錯,如果把下面改成
insert into ring_all_old_200606_tmp
select * from ring_all_old_200606;
就能編譯通過.
請問該怎樣改啊?
create or replace procedure SYSRINGALL_TEST is
all_tmp_name char(30);
all_name char(30);
tmp_str varchar(2000);
begin
if all_tmp_name is null then
select 'ring_inkfish_'||to_char(sysdate,'yyyymm')||'_tmp' into all_tmp_name from dual;
end if;
if all_name is null then
select 'ring_inkfish_'||to_char(sysdate,'yyyymm') into all_name from dual;
end if;
tmp_str :='insert into '||all_tmp_name||' select * from '||all_name;
execute immediate tmp_str;
commit;
end SYSRINGALL_TEST;
嘿嘿,不容易啊!!自己搞定啦!希望能對大家有幫助!