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
Oracle控制文件的内容Oracle触发器的使用相关资讯 Oracle游标 Oracle游标使用
- Oracle游标的使用方法 (今 13:57)
- Oracle 游标使用全解 (05/01/2015 17:35:19)
- Oracle使用游标为所有用户表创建主 (02/08/2015 11:22:49)
| - Oracle游标—for、loop、if结合应 (05/01/2015 17:43:10)
- Oracle游标介绍 (02/09/2015 10:32:04)
- Oracle使用游标删除所有用户数据表 (01/23/2015 17:25:09)
|
本文评论 查看全部评论 (0)