显式游标实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
显示游标实验内容:
1.使用游标和loop循环来显示所有部门的名称;
2.接受用户输入的部门编号,用for循环和游标,显示此部门的所有雇员的所有信息。
答案:
1.
DECLARE
v_departName Departments.DepartmentName%TYPE;
CURSOR DN_CUR
IS
SELECT DepartmentName
FROM Departments;
BEGIN
OPEN DN_CUR;
FETCH DN_CUR INTO v_departName;
WHILE DN_CUR%FOUND
LOOP
DBMS_OUTPUT.PUT_LINE(v_departName);
FETCH DN_CUR INTO v_departName;
END LOOP;
CLOSE DN_CUR;
END;
-------------------------------------------
2. 方法一: 游标参数
DECLARE
CURSOR ALl_CUR(DeptID number)
IS
SELECT *
FROM Employees
WHERE DepartmentID=DeptID;
r_emp Employees%rowtype;
begin
for r_emp in ALl_CUR(2)
loop
dbms_output.put_line('员工编号:'||r_emp.EmployeeID||'员工名:'||r_||'生日:'||r_emp.Birthday||'性别:'||r_emp.Sex);
end loop;
end;
方法二:&替换变量
DECLARE
CURSOR ALl_CUR
IS
SELECT *
FROM Employees
WHERE DepartmentID=&DeptID;
r_emp Employees%rowtype;
begin
for r_emp in ALl_CUR
loop
dbms_output.put_line('员工编号:'||r_emp.EmployeeID||'
员工名:'||r_||'生日:'||r_emp.Birthday||'性
别:'||r_emp.Sex);
end loop;
end;