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;