오라클 커서 예제 안내

오라클 커서 예제 안내

오라클에서 커서를 사용하는 방법은 크게 명시적 커서 사용, 묵시적 커서 사용으로 나눌 수 있습니다. 이번 주제는 그 중에서도 묵시적 커서를 하나 소개해 드리려고 합니다.

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.
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗