8.2.5 使用CURSOR FOR LOOP
游标很多机会都是迭代结果集,在PL/SQL这个过程中可以使用更简单的方式实现,CURSOR FOR LOOP不需要特别的声明变量,它可以提出行对象类型的数据。可以按照类似示例4中提取数据的方式得到列数据。详细脚本见示例5。
【示例5】使用CURSOR FOR LOOP语句提取数据
具体代码如下:
01 DECLARE
02 CURSOR cfl IS SELECT productname,productprice FROM PRODUCTINFO
03 WHERE productprice>1200;
04 BEGIN
05 FOR curcfl IN cfl
06 LOOP
07 DBMS_OUTPUT.PUT_LINE('名称:'||curcfl.productname
08 ||'产品价格:'||curcfl.productprice);
09 END LOOP;
10 END;
【代码解析】
❑第1~3行声明游标并关联查询。
❑第5行把游标返回数据放到curcfl中,该类型是个%ROWTYPE类型。
❑第6~9行迭代输出数据。
获取数据的方式和示例4大同小异,相信读者理解这部分比较容易。这里不详细介绍了。
【执行效果】
执行效果如下:
名称:夏普LCD-46G100A 产品价格:7000
名称:三星WF-R1065S/XSC 产品价格:3600
名称:三星XQB55-T86A/XSC 产品价格:2500
名称:思科RV082路由器 产品价格:2800
这种方式在隐式游标中使用更显方便,如果没有特殊需求,可以尝试使用该语句。