第六章上机课游标管理.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章上机课游标管理

老二牛车教育 《Oracle 数据库应用 》上机课 游标管理 目标: 能够使用游标 第一部分指导 本阶段重点介绍如何使用游标来编写程序,还将介绍如何声明、打开、提取游标中的记录以及最终关 闭游标,最后介绍创建显式游标、REF 游标和循环游标的方法。 阶段一:隐式游标的工作原理 需求说明: 公司的经理想根据职员编号查看其所在的部门名称,部门名称存储在dept_details 表中。请编写 一段代码以接收职员编号并显示相应的部门名称。 实现思路: 此代码需要声明两个VARCHAR2 类型的变量。用户输入empno,该值与employee 表的empno 一致。然后将此deptcode 与dept_details 表的deptcode 列相比较,如果二者一致,则将dept_details 表的相应deptname 返回给用户。 参考步骤: (1) 启动“ SQL Plus”。 (2 ) 在SQL* Plus 中输入下列代码。 SQLSET SERVEROUTPUT ON SQLDECLARE deptnm VARCHAR2(25); dept_code VARCHAR2(10); BEGIN SELECT deptcode INTO dept_code FROM employee WHERE empno=Employee_Number; SELECT deptname INTO deptnm FROM dept_details WHERE deptcode = dept_code; DBMS_OUTPUT.PUT_LINE(部门名称: ); DBMS_OUTPUT.PUT_LINE(); DBMS_OUTPUT.PUT_LINE(deptnm); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(职员不存在); END; 如果输入的empno 在表中存在,则练习 1 的输出结果如图6.1 所示。 老二牛车教育 《Oracle 数据库应用 》上机课 如果输入的empno 在表中不存在,则练习 1 的输出结果如图6.2 所示。 阶段二:显式游标的工作原理 需求说明: 公司的助理销售经理想将总净价大于 2000 元的项目的项目编号和总价值单独存储在 totalworth 表中。要求编写一段代码以显示总净价大于2000 元的项目的项目编号和总价值。 实现思路: 此代码需要声明一个游标以检索结果集的行,还需声明一个%ROWTYPE 类型的变量。Itemcursor 游标从itemfile 表中选择和提取所有行。将itemrate 和qty-hand 列中的值相乘,并检查积是否大 于2000 。如果积大于2000 ,则将这两列对应的项目和产品插入totalworth 表。 参考步骤: (1) 启动“ SQL Plus”。 (2 ) 在SQL* Plus 中输入下列代码。 DECLARE itemrec itemfile%ROWTYPE; CURSOR itemcursor IS SELECT * FROM itemfile; BEGIN OPEN itemcursor; LOOP FETCH itemcursor INTO itemrec; EXIT WHEN itemcursor%NOTFOUND; IF itemrec.itemrate * itemre

文档评论(0)

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

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

1亿VIP精品文档

相关文档