- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编写第一个游标,输出emp表中所有员工的信息。 declare cursor mycur is select * from emp ; empinfo emp%rowtype ; begin if mycur%isopen then null; else open mycur; end if; fetch mycur into empinfo ; while (mycur%found) loop dbms_output.put_line(雇员编号:||empinfo.empno) ; dbms_output.put_line(雇员姓名:||empInfo.ename) ; fetch mycur into empinfo ; end loop ; close mycur; end ; 革藻谰渔舞份帆蕾鞍僵惫揉褥汁霓乖唬膏德尊萤慎防成阎粤恳丙阜促借宫第六章 PL/SQL程序设计第六章 PL/SQL程序设计 练习:一次性上涨全部雇员的工资。 根据它所在的部门涨工资, 规则: . 10部门上涨10% . 20部门上涨20% . 30部门上涨30% 所有部门员工上涨后的工资最多不能超过5000,如果超过5000,则工资就为5000。 妮警渔逻妒根摄没逃基熙惰追脉古努已涝著弄捶儿吉叫宛屿录沮纶遁涸陵第六章 PL/SQL程序设计第六章 PL/SQL程序设计 declare cursor mycur is select * from emp; empInfo emp%rowtype; v_sal emp.sal%type; begin for empInfo in mycur loop if empInfo.deptno = 10 then v_sal := empInfo.sal*1.1; elsif empInfo.deptno = 20 then v_sal := empInfo.sal*1.2; elsif empInfo.deptno = 30 then v_sal := empInfo.sal* 1.3; end if; if v_sal 5000 then v_sal := 5000; end if; update emp set sal = v_sal where empno = empInfo.empno; end loop; end; 萤倡贱缄安蜒投留扎杜面芍峨猜熙阎信钡岸鸽奴谢吗臃痘途郡化列盅欲矮第六章 PL/SQL程序设计第六章 PL/SQL程序设计 所有的SQL 语句在上下文区内部都是可执行的,因此都有一个游标指向上下文区,此游标就是所谓的SQL游标(SQL cursor),即隐式游标。与显式游标不同,SQL 游标不被程序打开和关闭。 当一个DML语句执行时,PL/SQL内部打开一个游标,语句的结果被保存在4个游标属性中。 SQL%FOUND SQL%NOTFOUND SQL%ROWCOUNT SQL%ISOPEN 游标是一块包含有查询信息的内存空间。在执行DML语句,游标被打开;当语句完成时,游标被关闭。 3.7.2 隐式游标 竟塘范裔湍遗彰唇燥废堆烽大涎横灾粹源涤冰坤啤孵抚擂去窝诊躇咕谅力第六章 PL/SQL程序设计第六章 PL/SQL程序设计 【案例】 更新dept表,将部门号为80的部门名称修改为总经办公室,如果没有这条记录,则向dept表写入该条记录 declare begin update dept set dname=总经办公室 where deptno = 80; if sql%notfound then insert into dept values(80,总经办公室,南昌); end if; commit; end; 录环瘤睹细抄植谴抒促瞅县惟党绘忙刃鹏三上梅阂领郁兢舒癸字尼寐宵偿第六章 PL/SQL程序设计第六章 PL/SQL程序设计 异常处理 在程序运行的时候出现的错误就称为异常,发生异常后,语句将停止执行,PL/SQL引擎立即将控制权转到PL/SQL块的异常处理部分,异常处理机制简化了代码的错误检测,PL/SQL中任何异常出现时,每个异常都应该对应一个异常码和异常信息,比如: declare v_sal emp.sal%type; begin select sal into v_sal from emp; end; ORA-01422: 实际返回的行数超出请求的行数 危潘殊青弛答裙尔阜迅崇虚镍亏暮萄兜吻喝罐笼受坍锥叛涤碉帧歌珍歼鹅第
文档评论(0)