- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 计算机(软件)学院 Oracle数据库原理与应用 * 计算机(软件)学院 Oracle数据库原理与应用 * 计算机(软件)学院 Oracle数据库原理与应用 * 计算机(软件)学院 Oracle数据库原理与应用 第15讲 使用游标 任务 任务1:使用SQL隐式游标 任务2:使用显式游标 任务3:使用参数游标 任务4:使用游标For循环 任务5:使用游标更新或删除数据 教学目标 1、学会使用游标查询、更新和删除数据 知识目标: 能力目标: 1、隐式游标 2、显式游标 3、参数游标 任务1:使用SQL隐式游标 Sql%IsOpen:确定sql游标是否打开,并且在语句执行完后会隐式关闭游标,对于开发人员来说该属性值永远都是false。 Sql%Found:确定SQL语句是否执行成功,成功为true,失败为false。 Sql%NotFount:确定SQL语句是否执行不成功,成功为false,失败为true。 Sql%RowCount:返回SQL语句所作用的总计行数。 任务1:使用SQL隐式游标 set verify off; set serveroutput on; declare v_deptno emp.deptno%type := deptno; ? begin update emp01 set comm = sal*0.2 where deptno=v_deptno; if sql%found then dbms_output.put_line(更新了||sql%rowcount||行); else dbms_output.put_line(该部门号不存在); end if; end; / 例:编写PL/SQL程序,使用隐式游标依据部门编号将奖金修改为工资的0.2倍,部门编号为输入参数。 任务2:使用显式游标 %IsOpen:确定游标是否打开,如果游标已经打开,返回true,否则返回false。 %Found:如果从结果集中提取到数据返回true,否则返回false。 %NotFount:与%Found相反,如果从结果集中提取到数据返回false,否则返回true。 %RowCount:当前行为止,已经提取到的实际行数。 任务2:使用显式游标 使用步骤: (1)定义游标 CURSOR cursor_name IS select_statement 其中,cursor_name为游标名称,select_statement为游标对应的select语句。 (2)打开游标 OPEN cursor_name (3)提取数据 FETCH cursor_name INTO var1,var2,… 将数据提取到变量中,每次只能提取单行数据,可以使用循环语句处理所有数据。 (4)关闭游标 CLOSE cursor_name 任务2:使用显式游标 declare cursor emp_sursor is select ename,sal from emp where deptno=10; v_ename emp.ename%type; v_sal emp.sal%type; begin if not emp_sursor%isopen then open emp_sursor; end if; loop fetch emp_sursor into v_ename,v_sal; exit when emp_sursor%notfound; dbms_output.put_line(v_ename||:||v_sal); end loop; close emp_sursor; end; / 例:使用游标显示10部门的所有雇员及其工资。 任务2:使用显式游标 练习:使用游标显示部门名称和部门地址。 任务3:使用参数游标 CUESOR cursor_name(parameter_name datatype) IS select_statemen; 定义参数游标时,需要指定参数名及其数据类型,游标参数只能指定数据类型不能指定长度。 参数只能在游标子查询的WHERE子句中使用。 任务3:使用参数游标 例:使用参数游标显示10部门的雇员姓名。 declare cursor emp_sursor(dno number) is select ename from emp where deptno=dno; v_ename emp.ename%type; begin open emp_sursor(10); loop fetch emp_
您可能关注的文档
- 第2章-第2讲离子反应详解.ppt
- 第14课花季莫种相思树详解.ppt
- 直线与圆锥曲线.新ppt讲述.ppt
- 直轴式横向柱塞泵研究设计讲述.doc
- 直销不成功的十大原因讲述.ppt
- 第2章第3节探究铁及其化合物的氧化性或还原性(第3课时)课件鲁科版必修1详解.ppt
- 直销成功八步讲述.ppt
- 第2章第七节灯具的选择及布置详解.ppt
- 直面挫折_学习描写PPT讲述.ppt
- 第2章对象的选取详解.ppt
- 机械设计课程设计-减速器-齿轮轴设计与校核.docx
- 机械设计课程设计-用于带式运输机上的单级圆柱齿轮减速器设计.docx
- 机械设计课程设计4.docx
- 机械设计课程设计-蜗轮蜗杆减速器(含图纸).docx
- 机械设计课程设计-二级展开式圆柱齿轮减速器设计F=2.5KN,V=1.8ms,D.docx
- 机械设计课程设计-用于螺旋输送机的一级圆柱齿轮减速器解答.docx
- 中国低氮燃烧器行业投资研究分析及发展前景预测报告.docx
- 机械设计课程设计-二级圆锥齿轮-斜齿圆柱齿轮减速器.docx
- 机械设计课程设计-一级蜗轮蜗杆减速器.docx
- 机械设计课程设计-设计一用于带式传动的单级斜齿圆柱齿轮减速器.docx
文档评论(0)