版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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届高三第一次模拟考试英语试卷含解析
- 教研组汇报课件
- 贵州省贵阳市2023-2024学年高一上学期语文期末考试试卷(含答案)
- 化学必修一人教版知识点总结(超全)
- 肺部感染性疾病支气管肺泡灌洗病原体检测中国专家共识(2017年)
- 高中化学解题方法大全
- 2024赞助合同模板
- 理赔基础知识培训
- 第六单元《多边形的面积》 单元测试(含答案)2024-2025学年人教版五年级数学上册
- 江西省南昌市雷式学校2024-2025学年八年级上学期第一次月考物理试卷
- 06《诫子书》理解性默写-2022-2023学年七年级语文上册知识梳理与能力训练
评论
0/150
提交评论