版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年苏科版小学信息技术三年级下册第八单元《自主可控技术》学情自测试卷及答案
- 临床护理故事脊梁重铸晚景如松-一位腰椎椎管狭窄术后老人的行走新生
- 旅游信息咨询公司年度工作计划
- 城市轨道交通运营管理电子教案1-2 城市轨道交通运营人员管理
- 热性惊厥发作时家长的正确操作
- 储备仓容30万吨省级粮食储备库项目可行性研究报告模板申批拿地用
- 白内障术前眼部特殊检查配合护理
- 山西大学附中2025-2026学年第二学期高三5月模块诊断(第十六次)历史+答案
- 电子商务沙盘运营与管理(AI实践版) 课件 第5-8章 财务往来账目登记与管理- 电子商务沙盘实战模拟
- 2026年中国人寿员工合同(1篇)
- 国家义务教育质量监测信息上报及抽样系统操作手册
- FOF基金从业考试资料及答案解析
- 2025年重庆市初中学业水平考试中考(会考)生物试卷(真题+答案)
- JG/T 287-2013保温装饰板外墙外保温系统材料
- 2022版27001内审检查表-
- 2025年中国民生银行校园招聘考试模拟试题及答案
- 食堂买菜合同协议
- 麻醉车管理制度
- 劳动铸就梦想奋斗开创未来课件-高一下学期五一劳动节励志主题班会
- 新能源汽车维护 课件 任务3.3 冷却系统维护
- 商业模式画布9个维度
评论
0/150
提交评论