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

oracle高级游标的使用.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我需要一个存储过程来操作游标 create [or replace] procedure emp_proce(cur out cursor_emp.refcursor,ejob in varchar2) is 创建[或者修改] 只能创建不能修改 procedure 存储过程的关键字 emp_proce 存储过程的名字 emp_proce(参数列表) 参数列表: 参数名 传递类型 参数类型 传递类型:in 从application 到数据库中 out 从数据库向application中传递数据 inout 即输入也输出 is 后面是存储过程的执行内容,也需要从begin 到end * UPDATE语句仅更新在游标声明的FOR?UPDATE子句处列出的列。如果没有列出任何列,那么所有的列都可以更新。 * --根据输入选项的不同,分别显示员工表、部门表的所有信息 declare type cur_type is ref cursor; --弱类型游标 cur cur_type; v_emp emp%rowtype; v_dept dept%rowtype; selection varchar2(1):= upper(str); begin if selection = E then open cur for select * from emp; --select 语句的去掉了 loop fetch cur into v_emp; exit when cur%notfound; dbms_output.put_line(v_emp.ename||:||v_emp.sal); end loop; close cur; else if selection = D then open cur for select * from dept; loop fetch cur into v_dept; exit when cur%notfound; dbms_output.put_line(v_dept.deptno||:||v_dept.dname); end loop; close cur; else dbms_output.put_line(根据您输入的内容,没有查询到任何的记录); end if; end if; end; 游标的使用 cursor [k?:s?] 作用:用于数据库一端的查询 游标简介 游标分类 静态游标 动态游标 静态游标 静态游标的分类 实例 第二种情况:DML是select into PL SQL中的“select into”的结果必须“有且只有一行”,该行结果可以付给列变量或记录变量 declare type type_emp is record( empno emp.empno%type, ename emp.ename%type, dname dept.dname%type, sal emp.sal%type); v_emp type_emp; --声明变量 变量类型 begin select empno,ename,dname,sal into v_emp from emp inner join dept on emp.deptno = dept.deptno where emp.empno=7369; if sql%notfound then dbms_output.put_line(查无此人);--永远执行不到,因为查询返回空行时触发not_data_found异常 else dbms_output.put_line(v_emp.empno||*||v_emp.ename||*||v_emp.dname||*||v_emp.sal); end if; exception when no_data_found then dbms_output.put_line(查无此人); when others then dbms_output.put_line(sqlerrm); end; declare cursor cur is select * from emp where job = CLERK ; v

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档