Welcome 微信登录

首页 / 数据库 / MySQL / Oracle高级显式游标的使用

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
  • 1
  • 2
  • 下一页
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)
表情: 姓名: 字数