📄 提示光标_parameter_练习_loop.txt
字号:
scott中的oracle样本库雇员表:具体见cursor_parameter.ppt
SQL> desc emp;scott中的oracle样本库雇员表
名称
--------------------
EMPNO 雇员编号
ENAME 雇员名称
JOB 雇员工作
MGR
HIREDATE
SAL 雇员工资
COMM 雇员提成
DEPTNO 雇员所属部门编号
SQL> desc dept
名称 : scott中的oracle样本库部门表
--------------------------
DEPTNO 部门编号
DNAME 部门名称
LOC 部门地址
要求:用光标统计出各部门的销售总额。
提示:两个光标,以什么为光标的参数?
--cursor with parameter---------------------------------------
SET SERVEROUTPUT ON
--计算各输出该部门的总销售额
DECLARE
CURSOR c_dept IS SELECT * FROM dept ORDER BY deptno;
--用于从dept表选择相应部门编号的游标
CURSOR c_emp (p_dept VARCHAR2) IS
SELECT ename,SAL
FROM emp
WHERE deptno =p_dept
ORDER BY ename;
--用于从empt表选择对应部门的雇员信息的游标.p_dept使用于where子句中,限定部门编号
v_tot_sal NUMBER (10,2);
BEGIN
for r_dept in c_dept loop
--部门光标为外层循环
v_tot_sal :=0;
--
for r_emp in c_emp(r_dept.??) loop
--人员光标为内外层循环,人员光标以什么为参数?
v_tot_sal :=v_tot_sal +??;
--如何计算部门的总销售额?
END LOOP;
--输出部门总工资
--
END LOOP;
END;
--------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -