오라클 커서 예제 안내
오라클에서 커서를 사용하는 방법은 크게 명시적 커서 사용, 묵시적 커서 사용으로 나눌 수 있습니다. 이번 주제는 그 중에서도 묵시적 커서를 하나 소개해 드리려고 합니다.
EXIT WHEN 조건은 생략하거 모든 로우에 대해 출력하도록 진행합니다. 필요 시 EXIT 조건을 설정해 주십시오.
SQL> SET SERVEROUTPUT ON
SQL>
SQL> BEGIN
FOR C IN (SELECT * FROM EMP)
LOOP
DBMS_OUTPUT.PUT_LINE (C.ENAME);
END LOOP;
END;
/
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
KING
PL/SQL procedure successfully completed.
커서 예제 스크립트
커서 예제 1
SET SERVEROUTPUT ON
DECLARE
TYPE REFCURSOR IS REF CURSOR;
C REFCURSOR;
ENAME EMP.ENAME%TYPE;
BEGIN
OPEN C FOR
SELECT ENAME
FROM EMP
WHERE JOB = 'MANAGER';
LOOP
FETCH C INTO ENAME;
EXIT WHEN C%NOTFOUND;
DBMS_OUTPUT.PUT_LINE (ENAME);
END LOOP;
CLOSE C;
END;
BLAKE
CLARK
JONES
PL/SQL procedure successfully completed.
커서 예제 2
SET SERVEROUTPUT ON
DECLARE
TYPE REFCURSOR IS REF CURSOR;
C REFCURSOR;
ENAME EMP.ENAME%TYPE;
BEGIN
FOR EMP_REC IN (SELECT *
FROM EMP
WHERE JOB = 'MANAGER')
LOOP
DBMS_OUTPUT.PUT_LINE (EMP_REC.ENAME);
END LOOP;
END;
BLAKE
CLARK
JONES
PL/SQL procedure successfully completed.