메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

2. 커서(Cursor) 사용법

2-1. 커서란? • SELECT 문의 결과를 한 행씩 처리할 수 있는 포인터 • 묵시적 커서 (자동 처리) vs 명시적 커서 (직접 선언)

2-2. 명시적 커서 예제

DECLARE

 CURSOR emp_cursor IS
   SELECT employee_id, first_name FROM employees WHERE department_id = 10;
 v_id   employees.employee_id%TYPE;
 v_name employees.first_name%TYPE;

BEGIN

 OPEN emp_cursor;
 LOOP
   FETCH emp_cursor INTO v_id, v_name;
   EXIT WHEN emp_cursor%NOTFOUND;
   DBMS_OUTPUT.PUT_LINE('직원ID: ' || v_id || ', 이름: ' || v_name);
 END LOOP;
 CLOSE emp_cursor;

END;


2-3. FOR문을 이용한 커서 간단 처리

BEGIN

 FOR rec IN (
   SELECT employee_id, first_name FROM employees WHERE department_id = 10
 ) LOOP
   DBMS_OUTPUT.PUT_LINE('ID: ' || rec.employee_id || ', 이름: ' || rec.first_name);
 END LOOP;

END;