温故知新-游标

来源:互联网 发布:java flush 编辑:程序博客网 时间:2024/04/29 17:08

游标主要分为隐式游标和显式游标两种。

显式游标的定义

DECLARE    v_Emp Emp%ROWTYPE;    --定义显式游标    CURSOR Emp_Cur IS        SELECT *          FROM Emp;BEGIN    --打开游标    IF NOT Emp_Cur%ISOPEN THEN        OPEN Emp_Cur;    END IF;    --循环读取游标数据    FETCH Emp_Cur        INTO v_Emp;    LOOP        EXIT WHEN Emp_Cur%NOTFOUND;        Dbms_Output.Put_Line('员工编号:' || v_Emp.Empno || ' 员工姓名:' ||                             v_Emp.Ename);        FETCH Emp_Cur            INTO v_Emp;    END LOOP;    --关闭游标    CLOSE Emp_Cur;END;

for循环遍历游标,for循环会自动打开和关闭游标。

DECLARE    v_Emp Emp%ROWTYPE;    --定义显式游标    CURSOR Emp_Cur IS        SELECT *          FROM Emp;BEGIN    FOR c IN Emp_Cur LOOP        Dbms_Output.Put_Line('员工编号:' || c.Empno || ' 员工姓名:' || c.Ename);    END LOOP;END;

——————————-output——————————–
员工编号:7789 员工姓名:SCOTT
员工编号:7369 员工姓名:SMITH
员工编号:7499 员工姓名:ALLEN
员工编号:7521 员工姓名:WARD
员工编号:7566 员工姓名:JONES
员工编号:7654 员工姓名:MARTIN
员工编号:7698 员工姓名:BLAKE
员工编号:7782 员工姓名:CLARK
员工编号:7788 员工姓名:SCOTT
员工编号:7844 员工姓名:TURNER
员工编号:7876 员工姓名:ADAMS
员工编号:7900 员工姓名:JAMES
员工编号:7902 员工姓名:FORD
员工编号:7934 员工姓名:MILLER

0 0
原创粉丝点击