DB2存储过程(游标+循环)

理论部分
–游标
–定义游标:DECLARE 游标名 CURSOR FOR SELECT 语句

在 SQL 过程中,游标除了迭代结果集中的行,还可以将结果集返回给调用程序或其他过程
•WITHOUT RETURN/WITH return:选项指定游标的结果表是否用于作为从一个过程中返回的结果集。
•WITH RETURN TO CALLER:选项指定将来自游标的结果集返回给调用者,后者可以是另一个过程或一个客户机应用程序。这是默认选项。
•WITH RETURN TO CLIENT:选项指定将来自游标的结果集返回给客户机应用程序,绕过任何中间的嵌套过程。

–下面是游标声明的几个例子:
1.DECLARE c1 CURSOR FOR select * from staff; --(DECLARE关键字,cl游标名称,CURSOR是必须有的,指通过c1的游标来操作staff里所有的数据)最常用的最普通的。
2.DECLARE c1 CURSOR WITH HOLD FOR select * form staff; --如果不加with hold则此游标遇到commit或者rollback语句会自动关闭。加上了with hold 则必须用close关闭。
3.DECLARE c1 CURSOR WITH RETURN TO CALLER FOR select * form staff;
4.DECLARE c1 CURSOR WITH RETURN TO CLIENT FOR select * form staff;

若要从一个过程中返回结果集,需要:
•创建一个过程,创建时指定 DYNAMIC RESULT SETS 子句中声明存储过程将要返回结果集的数量。
•声明游标,声明时指定 WITH RETURN

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值