首页 > 代码库 > orcale 之游标的属性
orcale 之游标的属性
无论是显式游标还是隐式游标都会有四个属性分别是:%ISOPEN、%FOUND、%NOTFOUND、%ROWCOUNT 下面我们分别对着几种属性进行分析。
%FOUND
该属性表示当前游标是否指向有效的一行,结果是一个Boolean 类型的。这个属性一般用来判断是否结束当前游标的使用。
OPEN emp_cur; --打开游标 --将第一行的数据放入变量中,之后游标后移 FETCH emp_cur INTO emp_no, emp_nanme; LOOP EXIT WHEN NOT emp_cur%FOUND; --如果游标已经到末尾结束 IF emp_no = ‘7839‘ THEN INSERT INTO t_emp values(emp_no,emp_nanme); else INSERT INTO t_emp2 values(emp_no,emp_nanme); END IF; FETCH emp_cur INTO emp_no, emp_nanme; END LOOP; CLOSE emp_cur; --关闭游标
在隐式游标中引用方法为 SQL%FOUND。
delete from student where sid = 1; if SQL%FOUND THEN INSERT INTO states values(1,1); else INSERT INTO states values(1,0); end if;
%NOTFOUND
这个属性和上面的 %FOUND 很类似,只不过结果相反。这里就不举例子了,大家自己练习下。
%ROWCOUNT
这个属性记录了游标取过记录的行数,也可以理解为当前游标所在的行数。这个属性在循环的时候十分有效。
LOOP FETCH emp_cur INTO emp_no, emp_nanme; EXIT WHEN emp_cur%ROWCOUNT=10; ... END LOOP;
在隐式游标中使用 %ROWCOUNT
%ISOPEN
顾名思义是表示游标是否处于打开的状态。在我们的实际使用前最好使用该属性进行检查。
IF emp_cur%ISOPEN THEN FETCH emp_cur INTO emp_no, emp_nanme; ELSE OPEN emp_cur END IF;
在隐式游标中可以使用 SQL%ISOPEN 进行引用,但是需要说的是隐式游标中 SQL%ISOPEN 总是为 TRUE 因此隐式游标中不需要打开游标关闭游标,也不需要对游标的状态进行检查。
orcale 之游标的属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。