创建一个PL/SQL块,要求在键盘中输入部门号,屏幕上显示该部门的所有雇员的雇员号、雇员姓名和工资(要求定义有参游标传入部门号实现该部门所有雇员的查找,要求分别使用两种方式遍历游标:while、for) 请用10号部门做测试。例如,输入10,输出结果如下:
时间: 2024-02-26 09:56:55 浏览: 140
好的,以下是您所需的PL/SQL代码:
```sql
DECLARE
deptno NUMBER := &deptno; -- 输入部门号
eno NUMBER;
ename VARCHAR2(30);
sal NUMBER;
-- 定义游标
CURSOR c_emp(p_deptno NUMBER) IS
SELECT empno, ename, sal
FROM emp
WHERE deptno = p_deptno;
BEGIN
-- 使用 while 遍历游标
OPEN c_emp(deptno);
LOOP
FETCH c_emp INTO eno, ename, sal;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Empno: ' || eno || ', Ename: ' || ename || ', Sal: ' || sal);
END LOOP;
CLOSE c_emp;
-- 使用 for 遍历游标
FOR emp IN c_emp(deptno) LOOP
DBMS_OUTPUT.PUT_LINE('Empno: ' || emp.empno || ', Ename: ' || emp.ename || ', Sal: ' || emp.sal);
END LOOP;
END;
```
请将其中的 `&deptno` 替换为您需要查询的部门号,然后在 PL/SQL 开发环境中运行即可。
阅读全文