oracle的游标操作

2013-02-22

在循环遍历记录操作库的时候最好不要每次都连接循环调用DbHelper之类的,远程连接是非常占资源的,尽量使用游标通过数据库自己来遍历,虽然游标的性能不高,但是和循环连库比较还是高出n个数量级的性能来。

示例代码如下:

declare cursor cur is select * from pm_strategy_detail for update ;--定义游标
idNum number;--定义变量
r pm_strategy_detail%rowtype;--定义游标列类型
begin
idNum:=0;
open cur;--打开游标
loop
fetch cur into r;
exit when cur%notfound;
idNum:=idNum+1;
update pm_strategy_detail set sid =2 where dtype=2;--操作语句
end loop;
commit;--一次性提交
close cur;--关闭游标
end;

示例2:

declare CURSOR c_det IS SELECT id,dname FROM pm_strategy_detail;--定义游标
v_id pm_strategy_detail.id%TYPE; --定义字段类型和表的字段类型映射
v_name pm_strategy_detail.dname%TYPE;--定义字段类型和表的字段类型映射

BEGIN
OPEN c_det;
LOOP
fetch c_det INTO v_id,v_name;
exit WHEN c_det%NOTFOUND;
dbms_output.put_line('Id和名称:'|| v_id||' -- '|| v_name);--输出记录到控制台
END LOOP;
CLOSE c_det;--关闭游标
end;

作者:robotbird, 分类:关于代码 标签: oracle 数据库 , 浏览(1804), 评论(0)
上一篇: easyui combobox扩展可以默认选择第一行
下一篇: 从今天开始坚持不刷技术类文章

相关文章

(0)条评论 订阅

发表评论

电子邮件用于回复通知和avatar全球唯一头像 *

*