一个循环的例子(loop)

这个例子对于一些技术高手来说是一个很简单的例子,但我觉得对于一个技术人员,不是拿过来一个问题就马上写出来,而是在以前的例子中有没有相关的例子,这样可以节省时间,可以把时间放到一些新的问题,这样进步会更快。下面把例子分享给大家。

-- 宽带新增用户
-- truncate table scb_lan_stat_d ;
declare
start_date date;
end_date   date;
start_in   number;
end_in     number;
vs_date    varchar2(8);
begin
start_date := to_date('20100601','yyyymmdd');
end_date   := to_date('20100831','yyyymmdd');
loop
vs_date    := to_char(start_date,'yyyymmdd');
exit when (start_date > end_date);
execute immediate '
insert into scb_lan_stat_d
(
   stat_date,
   area_code,
   new_user
)
select '
   ||vs_date||',
   substr(std_tml_id,1,2),
   count(distinct serv_id)
  from ods.tp_serv_day_'||vs_date||
' where prd_complete_in = 1
    and std_prd_id like ''1303%''
  group by substr(std_tml_id,1,2)  '
;
commit;
start_date := start_date + 1;
end loop;
end;

-- 这个例子对日累计,提一些累计数据很好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值