当前位置:首页 > 网络编程 > 软件语言 > JAVA > 如何在oracle的存储过程里调用动态变量

如何在oracle的存储过程里调用动态变量

点击次数:144 次 发布日期:2008-09-19 14:13:37 作者:源代码网
源代码网推荐
广告载入中
代码如下:

create or replace procedure SYSRINGALL_TEST is
all_tmp_name char(30);
all_name char(30);
begin
if all_tmp_name is null then
select "ring_all_old_"||to_char(sysdate,"yyyymm")||"_tmp" into all_tmp_name from dual;
end if;
if all_name is null then
select "ring_all_old_"||to_char(sysdate,"yyyymm") into all_name from dual;
end if;
------由ALL进TMP---------
insert into all_tmp_name
select * from all_name;
commit;
end SYSRINGALL_TEST;

源代码网整理以下  ==========================

源代码网整理以下  其实就是想动态生成ring_all_old_200606和ring_all_old_200606_tmp

源代码网整理以下  这两个表名让下面使用

源代码网整理以下  但老是编译出错,如果把下面改成

软件开发网 www.mscto.com

源代码网整理以下  insert into ring_all_old_200606_tmp 软件开发网 www.mscto.com

源代码网整理以下  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;

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华