




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、讲师:文心讲师:文心PL/SQL高级编程高级编程 游标的灵活运用游标的灵活运用了解游标的类型掌握隐式游标的应用Oracle 服务器服务器执行 PL/SQL 程序内存单元保存到游标中一次处理一行检索行提取行逐行处理查询结果,以编程的方式访问数据游标的类型:隐式游标REF 游标显式游标在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标。 显式游标用于处理返回多行的查询。REF 游标用于处理运行时才能确定的动态 SQL 查询的结果游标类型游标(cursor )是一个指向上下文区的句柄或指针 可以用来控制上下文区和处理语句时上下文区会发生的事情。处理方式:显式隐式在PL/SQL中使用D
2、ML语句时自动创建隐式游标隐式游标自动声明、打开和关闭,其名为 SQL通过检查隐式游标的属性可以获得最近执行的DML 语句的信息隐式游标的属性有:%FOUND SQL 语句影响了一行或多行时为 TRUE%NOTFOUND SQL 语句没有影响任何行时为TRUE%ROWCOUNT SQL 语句影响的行数%ISOPEN - 游标是否打开,始终为FALSEPL/SQL隐含打开和关闭游标DECLAREDECLARE v_RoomData rooms%ROWTYPE; v_RoomData rooms%ROWTYPE;BEGINBEGIN SELECT SELECT * * INTO v_RoomDat
3、a FROM rooms WHERE room_id = -1; INTO v_RoomData FROM rooms WHERE room_id = -1; IF SQL%NOTFOUND THEN / IF SQL%NOTFOUND THEN /* *注意,这里不执行,以上自动引发注意,这里不执行,以上自动引发select intoselect into预定义预定义异常异常* */ / INSERT INTO temp_table (char_col) VALUES (Not found!); INSERT INTO temp_table (char_col) VALUES (Not fo
4、und!); END IF; END IF;EXCEPTIONEXCEPTION WHEN NO_DATA_FOUND THEN/ WHEN NO_DATA_FOUND THEN/* *注意,这是真正执行的注意,这是真正执行的* */ / INSERT INTO temp_table (char_col) INSERT INTO temp_table (char_col) VALUES (Not found, exception handler); VALUES (Not found, exception handler);END;END;SQL SET SERVEROUTPUT ONSQL
5、BEGINUPDATE toys SET toyprice=270WHERE toyid= P005;IF SQL%FOUND THENDBMS_OUTPUT.PUT_LINE(表已更新);END IF; END;/只有在 DML 语句影响一行或多行时,才返回 TrueSQL SET SERVEROUTPUT ONSQL DECLARE v_TOYID TOYS.ID%type := &TOYID; v_TOYNAME TOYS.NAME%Type := &TOYNAME; BEGIN UPDATE TOYS SET NAME = v_TOYNAME WHERE toyid=v
6、_TOYID; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(编号未找到。); ELSEDBMS_OUTPUT.PUT_LINE(表已更新);END IF; END;/如果 DML 语句不影响任何行,则返回 True SQL SET SERVEROUTPUT ON SQL BEGINUPDATE vendor_masterSET venname= Rob MathewWHERE vencode=V004;DBMS_OUTPUT.PUT_LINE (SQL%ROWCOUNT); END; /返回 DML 语句影响的行数SQL SET SERVEROUTPUT
7、 ONSQL DECLARE empid VARCHAR2(10);desig VARCHAR2(10); BEGINempid:= &Employeeid;SELECT designation INTO desig FROM employee WHERE empno=empid; EXCEPTIONWHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(职员未找到); END; /如果没有与SELECT INTO语句中的条件匹配的行,将引发NO_DATA_FOUND异常SQL SET SERVEROUTPUT ONSQL DECLARE empid VARCHAR2(10); BEGINSELECT empno INTO empid FROM employee; EXCEPTIONWHEN TOO_MANY_ROWS THEN DBMS_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西北工业大学《农业科技英语文献阅读》2023-2024学年第二学期期末试卷
- 贵州中医药大学《温病学医学心理学》2023-2024学年第二学期期末试卷
- 延边大学《医学影像技术专业导论》2023-2024学年第二学期期末试卷
- 湘潭大学《心理咨询的理论与实践》2023-2024学年第一学期期末试卷
- 南阳医学高等专科学校《污染生态学实验》2023-2024学年第二学期期末试卷
- 哈尔滨工业大学《工程结构荷载与结构可靠度》2023-2024学年第二学期期末试卷
- 郑州工商学院《外国文学作品导读(2)》2023-2024学年第二学期期末试卷
- 广州华南商贸职业学院《中国现当代文学名家名作导读》2023-2024学年第二学期期末试卷
- 长沙商贸旅游职业技术学院《运动控制导论》2023-2024学年第二学期期末试卷
- 济宁职业技术学院《建筑力学一》2023-2024学年第二学期期末试卷
- 2024年09月江苏2024年东台农商银行校园招考笔试历年参考题库附带答案详解
- 2025新北师大版英语七年级下单词表
- 动脉瘤病人的观察及护理
- 《电梯销售的基本知识》
- 浙江省温州市九校2025届高考英语二模试卷含解析
- pph储罐施工方案
- 小红书种草营销师(初级)认证考试题库(附答案)
- 河南省汝州市实验中学2025届高考英语一模试卷含解析
- 医院供应室净化及装饰装修工程施工组织设计方案
- 2023年贵州贵安新区招聘中小学国企雇员教师考试真题
- 地质勘查项目中的地质勘探野外工作安全规程考核试卷
评论
0/150
提交评论