DB2 存储过程中游标循环的嵌套使用方法。

DB2 存储过程中有时候会在一个游标循环内部,还有一个游标循环。

第二个游标循环中,也会使用到第一个游标循环中的值作为输入参数,来获取第二个循环结果。


1 游标循环结构是这样的:

FOR txn as curs CURSOR WITH HOLD FOR

    select fields_name from table where condition group by condition order by fields

DO

    FOR conn as
         select fields_name from table where txn.fields_name group by condition order by fields

   DO

         To Do the job in here

        

    END FOR;

END FOR;


在 To Do the job  位置可以 组织返回结果。这样就可以嵌套循环了。


同样在To Do the job  位置还可以加入select into语句。

如下:

       select count(chgpntcd), sum(kwhconsumed), sum(duration) into totalKWHours, totalKWHours, totalKWHours from ntwpt.rechtxnhis;

       set Response = totalKWHours || totalKWHours || totalKWHours;


2 同样的也可以在第一个循环里面并列加入多个二级For循环:

FOR txn as curs CURSOR WITH HOLD FOR

    select fields_name from table where condition group by condition order by fields

DO

   //第一个并列二级循环

    FOR conn as
         select fields_name from table where txn.fields_name group by condition order by fields

   DO

         To Do the job in here

        

    END FOR;

    //第 二个并列二级循环

    FOR conn as
         select fields_name from table where txn.fields_name group by condition order by fields

   DO

         To Do the job in here

        

    END FOR;


END FOR;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值