java_my_love 2011-10-14 11:13
浏览 1422
已采纳

存储过程for in loop 问题

create or replace procedure GET_DATA is
yesterday varchar2(2);
tablename varchar2(20);
date varchar(20);
begin
select to_char(sysdate - 1, 'dd') into yesterday from dual;

tablename := '"d_his_fre_data_' || yesterday || '"';

dbms_output.put_line(tablename);

for rec in(select * from [color=red]tablename[/color]) loop
-- insert into aaa values(rec.UID);
date := substr(rec.COLL_TIME,0,9);
-- dbms_output.put_line(substr(rec.COLL_TIME,0,9) || ' ' substr(rec.COLL_TIME,10,17,));
dbms_output.put_line(date);
end loop;
commit;
end GET_DATA;

for in loop中的table 貌似不能为变量啊
请教各位大仙如何解决,分比较少,见谅

  • 写回答

4条回答 默认 最新

  • iteye_8576 2011-10-14 15:55
    关注

    看你代码中:
    tablename := '"d_his_fre_data_' || yesterday || '"';

    你的表都是d_his_fre_data_开头的,以天结尾,你这些表的结构都是一样的吧,如果是一样的,随便定义一个表就行,比如 rec d_his_fre_data_01%ROWTYPE;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 mssql2000游标循环次数对不上
  • ¥20 Windows10系统命令行调用
  • ¥15 php环境如何实现国密SM2相关功能
  • ¥15 关于#单片机#的问题:K210 例程里面提示我iomem.h: No such file or directory
  • ¥15 LSPI算法的大问题
  • ¥15 java导出word 动态填充数据
  • ¥20 扑克的算牌公式及软件制作
  • ¥20 如何通过云图中RPG去计算云图上不同位置的值?
  • ¥15 请问不小心下载到了钓鱼软件怎么办?
  • ¥15 求国博抢票 求国博抢票 有的私