网站大量收购闲置独家精品文档,联系QQ:2885784924

第15讲使用游标详解.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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_

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档