游标

[复制链接]
查看11 | 回复5 | 2011-2-18 11:43:36 | 显示全部楼层 |阅读模式
declare
erow emp%ROWTYPE;
cursor mycur is select * from emp where deptno=20;
begin
open mycur;
fetch mycur into erow;
while(mycur%found) loop
dbms_output.put_line(erow.empno);
end loop;
close mycur;
end;
/
有什么问题么?直接把我得测试库搞瘫了
回复

使用道具 举报

千问 | 2011-2-18 11:43:36 | 显示全部楼层

SQL> declare
2erow emp%ROWTYPE;
3cursor mycur is
4select * from emp where deptno = 20;
5begin
6open mycur;
7fetch mycur into erow;
8while (mycur%found) loop
9dbms_output.put_line(erow.empno);
10fetch mycur into erow;
11end loop;
12close mycur;
13end;
14/
7369
7566
7788
7876
7902

回复

使用道具 举报

千问 | 2011-2-18 11:43:36 | 显示全部楼层
本帖最后由 youcz 于 2011-11-16 14:33 编辑
呵呵,没再次取值,诶。。。
回复

使用道具 举报

千问 | 2011-2-18 11:43:36 | 显示全部楼层
死循环
回复

使用道具 举报

千问 | 2011-2-18 11:43:36 | 显示全部楼层
典型错误。。。值得注意。。。
回复

使用道具 举报

千问 | 2011-2-18 11:43:36 | 显示全部楼层
SQL> declare
2erow emp%ROWTYPE;
3cursor mycur is select * from emp where deptno=20;
4begin
5open mycur;
6loop
7fetch mycur into erow;
8exit when mycur%notfound;
9
dbms_output.put_line(erow.empno);
10end loop;
11close mycur;
12end;
13/

7369
7566
7788
7876
7902
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行