文档详情

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

发布:2017-05-18约5.49千字共5页下载文档
文本预览下载声明
老二牛车教育 《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
显示全部
相似文档