- 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_
您可能关注的文档
- 城里最漂亮的巨人剖析.ppt
- 城市道路监控系统施工组织设计方案091115剖析.doc
- 第11章 文档信息管理系统讲解.ppt
- 第九单元金属第三节钢铁的锈蚀讲解.ppt
- 第11章,色谱分析法,修改讲解.ppt
- 第九讲 浮力讲解.ppt
- 智能建筑消防设备讲解.pptx
- 加速度(上课)剖析.ppt
- 智能控制课件 _第2章讲解.ppt
- 第11章报表处理系统讲解.ppt
- 2025年中国铸管沥青漆喷涂机市场调查研究报告.docx
- 2025至2031年中国聚四氟乙割管料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国屏蔽箱行业投资前景及策略咨询研究报告.docx
- 2025年中国B级电源电涌保护器市场调查研究报告.docx
- 2025至2031年中国陶瓷印章行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国保冷材料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国金彩立雕玻璃行业投资前景及策略咨询研究报告.docx
- 2025至2030年中国机箱螺母柱数据监测研究报告.docx
- 2025至2030年中国小GS管装饰头数据监测研究报告.docx
- 2025至2030年中国气动电阻焊机数据监测研究报告.docx
文档评论(0)