- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《北大青鸟软件园:Oracle中使用游标》.doc
北大青鸟软件园:Oracle中使用游标
北大青鸟上地软件园校区由北大青鸟总部授权成立,位于被誉为“中关村明珠”的上地,是上地唯一的软件工程师培训基地。周围不但有清华大学、北京大学等全国著名学府,还汇集了中国科学院、联想、百度、IBM等众多科研院所和IT名企,高端资源优势可谓中国最大、世界少有。校区以多层次、多渠道、多元化的方式办学,致力于培养信息产业的高级管理和技术开发人才。依托中关村软件园的优势和资源,软件园校区与上千家企业建立了合作关系,充分保障了学员的就业。一、游标简介:? ? 游标是PLSQL中的一种控制结构。可以分为显式游标和隐式游标。plsql会为每一条select语句创建隐式游标。但是当我们需要处理多条数据时,我们就需要创建显式游标。注意:游标不是模式对象。二、游标的几种常见属性:1、%FOUND--判断游标中是否还有数据,若有,返回true,否则,返回false。2、%NOTFOUND--与%FOUND 相反3、%ISOPEN--判断游标是否为打开状态4、%ROWCOUNT--记录已从游标中取出的记录数三、游标应用实例:1、%FOUND属性的使用
DECLARE
CURSOR mycur IS
SELECT * FROM student;
myrecordstudent%ROWTYPE;
BEGIN
OPEN mycur;
FETCH mycur INTO myrecord;
WHILE mycur%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(myrecord.stuno||,||myrecord.stuname);
FETCH mycur INTO myrecord;
END LOOP;
CLOSE mycur;
END;[color=black]
复制代码
2、%NOTFOUND属性的使用:
[/color]DECLARE
CURSOR cur_para(id varchar2) IS
SELECT stuname FROM student WHERE stuno=111;
t_namestudent.stuname%TYPE;
BEGIN
OPEN cur_para(111);
LOOP
FETCH cur_para INTO t_name;
EXIT WHEN cur_para%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(t_name);
END LOOP;
CLOSE cur_para;
END;[color=black]
复制代码
3、for循环中游标的特殊使用:
[/color]DECLARE
? ?CURSOR cur_para(id varchar2) IS
??SELECT stuname FROM student WHERE stuno=id;
??BEGIN
??DBMS_OUTPUT.PUT_LINE(*****);
??FOR cur IN cur_para(111) LOOP
??DBMS_OUTPUT.PUT_LINE(cur.stuname);
??END LOOP;
??END;[color=black]
复制代码
4、%ISOPEN属性的使用:
[/color]DECLARE
? ?t_namestudent.stuname%TYPE;
? ?CURSOR cur(id varchar2) IS
? ?SELECT stuname FROM student WHERE stuno=id;
??BEGIN
? ?IF cur%ISOPEN THEN
??DBMS_OUTPUT.PUT_LINE(THE cur has been opened);
? ?ELSE
??OPEN cur(111);
??END IF;
??FETCH cur INTO t_name;
CLOSE cur;
DBMS_OUTPUT.PUT_LINE(t_name);
END;[color=black]
复制代码
5、%ROWCOUNT属性的使用:
[/color]DECLARE
??t_name VARCHAR2(10);
??CURSOR mycur IS
??SELECT stuname FROM student;
??BEGIN
??OPEN mycur;
??LOOP
??EXIT WHEN mycur%NOTFOUND OR mycur%NOTFOUND IS NULL;
??DBMS_OUTPUT.PUT_LINE(*****ROWCOUNT****||mycur%ROWCOUNT);
END LOOP;
CLOSE mycur;
END;[color=black]
复制代码
/
网址
文档评论(0)