多次打开相同的游标,返回不同的结果集。游标声明部分的形参必须与OPEN语句中提供的实参相对应(数量与数据类型)。
1、参数化的游标
作用:多次打开相同的游标,返回不同的结果集。游标声明部分的形参必须与open语句中提供的实参相对应(数量与数据类型)。
例1:
declare
v_empno emp1.empno%type;
v_ename emp1.ename%type;
cursor emp_cursor
(p_deptno number, p_job varchar2) is ——定义参数时不需要指定精度
select empno, ename
from emp1
where deptno=p_deptno
and job=p_job;
begin
open emp_cursor(30,'salesman'); ——带参数使用的游标
loop
fetch emp_cursor into v_empno, v_ename;
exit when emp_cursor%notfound or emp_cursor%notfound is null;
dbms_output.put_line('empno is '||v_empno||' and '||' ename is '||v_ename);
end loop;
close emp_cursor;
end;
2、记录+FOR+游标参数
DECLARE
CURSOR emp_c (p_job VARCHAR2)
IS SELECT ename, sal FROM emp
WHERE job=p_job FOR UPDATE NOWAIT;
BEGIN
FOR e_record IN emp_c(UPPER('&jobs')) ——使用替代变量
LOOP
dbms_output.put_line(e_record.ename||'''s sal:'||e_record.sal);
END LOOP;
END;
/
Enter value for jobs: manager
old 6: for e_record in emp_c(upper('&jobs'))
new 6: for e_record in emp_c(upper('manager'))
JONES's sal:2975
BLAKE's sal:2850
CLARK's sal:2450

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号