- 34
- 0
- 约1.19万字
- 约 61页
- 2017-03-18 发布于贵州
- 举报
所有的SQL 语句在上下文区内部都是可执行的,因此都有一个游标指向上下文区,此游标就是所谓的SQL游标(SQL cursor),即隐式游标。与显式游标不同,SQL 游标不被程序打开和关闭。 当一个DML语句执行时,PL/SQL内部打开一个游标,语句的结果被保存在4个游标属性中。 SQL%FOUND:布尔型,如果最近一次使用FETCH语句,有返回结果则为TRUE,否则为FALSE SQL%NOTFOUND:布尔型,如果最近一次使用FETCH语句,没有返回结果则为TRUE,否则为FALSE SQL%ROWCOUNT:数值型,返回到目前为止从游标缓冲区检索的元组数 隐式游标的使用 案例18:编写第一个游标,输出emp表中所有员工的信息。 案例19:练习(请各位先编写程序):一次性上涨全部雇员的工资(游标实现) 根据它所在的部门涨工资,规则: 10部门上涨10% 20部门上涨20% 30部门上涨30% 所有部门员工上涨后的工资最多不能超过5000,如果超过5000,则工资就为5000。 SQL%ISOPEN:如果游标已经打开,返回TRUE,否则为FALSE 游标是一块包含有查询信息的内存空间。在执行DML语句,游标被打开;当语句完成时,游标被关闭。 【案例20】 更新dept表,将部门号为80的部门名称修改为 总经办公室,如果没有这条记录,则向dept表写入该条记录 异常处理 在程序运行的时候出现的错误就称为异常,发生异常后,语句将停止执行,PL/SQL引擎立即将控制权转到PL/SQL块的异常处理部分,异常处理机制简化了代码的错误检测,PL/SQL中任何异常出现时,每个异常都应该对应一个异常码和异常信息,比如: declare v_sal emp.sal%type; begin select sal into v_sal from emp; end; ORA-01422: 实际返回的行数超出请求的行数 异常处理 一个优秀的程序都应该能够正确处理各种出错情况,并尽可能从错误中恢复。Oracle 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理。 虽然在PL/SQL编程中,异常处理不是必须的,但建议编程人员要养成在PL/SQL编程中指定相应的异常。 异常处理是用来处理正常执行过程中未预料的事件,异 常处理包括预定义的错误和自定义错误。PL/SQL程序 块一旦产生异常而没有指出如何处理时,程序就会自动 终止整个程序运行 EXCEPTION when exception1 then statement1; when exception2 then statement2; …….. when others then statement; END; 其中:异常处理可以按任意次序排列,但 Others 必须放在最后。 异常处理概念 两种类型的异常:用户定义(user_define) 异常和预定义 ( predefined )异常。 为了方便oracle开发和维护,在oracle异常中,为常见的异常码定义了对应的异常名称,称为预定义异常; 当使用预定义异常处理时,应该了解PL/SQL 块的常见运行错误,并掌握与之相关的预定义异常处理,下表列出常用的系统异常 预定义的异常处理 案例21: too_many_rows系统异常使用举例 自定义异常: 除了预定义异常外,用户还可以自定义异常,自定义异常可 以让用户采用与PL/SQL引擎处理错误相同的方式进行处理,用户 自定义异常的两个关键点: 异常定义:在PL/SQL块的声明部分采用exception关键字来声 明异常,定义方法与定义变量相同,比如声明一个myexception 的异常方法是: myexception exception; 异常引发:在程序可执行区域,使用raise关键字来进行引发, 比如引发myexception的方法是: raise myexception; 请看案例22:自定义异常使用举例 引发应用程序异常: 在oracle开发中,遇到的系统异常都有对应的异常码,在应用系 统开发中,用户自定义的异常也可以指定一个异常码和异常信息, oracle系统为用户预留了自定义的异常码,其范围是-20000到- 20999之间的负整数,其语法是: raise_application_error(异常码,异常信息) 案例23:异常引发举例 表空间、数据库对象 同义词概念 序列的应用 视图的概念 索引的概念 表空间的概念 Oracle数据库对象
您可能关注的文档
- bat_for语句的基本法用法.doc
- bdcom 7600系列容量核心路由器宣传彩页_v2.1bdcom 7600系列大容量核心路由器宣传彩页_v2.1.doc
- bcj-y 布袋除尘在线测系统用户手册(自动反吹)bcj-y 布袋除尘在线监测系统用户手册(自动反吹).doc
- bmc壳体成型模具的设计制造与制造.doc
- bobath疗法对脑卒中复期患者的康复治疗—子项目3bobath疗法对脑卒中恢复期患者的康复治疗—子项目3.ppt
- book3 unit3bok3 unit3.doc
- b2-3-2、3、4第23、4节 dna分子的结构和复制b2-3-2、3、4第2、3、4节 dna分子的结构和复制.doc
- book4 unit 5 attitude is everythingbook4 unit 5 attitude is everything.ppt
- browser secuity-超文本标记语言(html)上browser security-超文本标记语言(html)上.ppt
- c#范例开发大全光盘c#例开发大全光盘.doc
- chapter 7 vauation and characteristics of stockchapter 7 val.ppt
- chapter 3 tols and techniques for the managementchapter 3 to.ppt
- chapter 3 roation of a rigid bodychapter 3 rotation of a rigid body.ppt
- chapter 9 maing consistent risk managementchapter 9 mak.ppt
- chapter 8 roational kinematicschapter 8 rotational kinematics.ppt
- chapter 10 –working-capital management and short-term financingchapter 10 – .ppt
- chapter 7proect managementchapter 7project management.ppt
- chapter_7 meorymanagementchapter_7 memorymanagement.ppt
- chapter 19 2 multinational cash managementchapter 19 20 .doc
- chapter6 船机件的修复工艺chapter6 船机零件的修复工艺.doc
最近下载
- 机械设计软件:CATIA二次开发_(8).CATIAVBA高级编程技巧.docx VIP
- 佛教戒律论文开题报告.docx VIP
- 2025春人教版三年级下册英语Unit 2 Expressing yourself Part B Read and write 课件.pptx VIP
- CAD软件:CATIA二次开发_(6).CATIAVBA高级编程技巧.docx VIP
- 火电项目可行性报告.ppt VIP
- 机械设计软件:CATIA二次开发_(3).CATIAVBA编程入门.docx VIP
- 生产机修巡检简历模板.docx VIP
- 《金蝶ERP财务软件应用教程》全套教学课件.pptx
- 西门子smart200PLC解密软件.docx VIP
- ONKYO安桥功放TX-SR444产品手册.pdf
原创力文档

文档评论(0)