📌 1. 개발 & 프로그래밍/Oracle & 데이터베이스
15강: 데이터 행 제어 - 커서(Cursor)의 이해와 활용
lastdetective
2025. 5. 4. 00:02
반응형
📊 오라클 데이터베이스 마스터하기
15강: 데이터 행 제어 - 커서(Cursor)의 이해와 활용
안녕하세요! 이번 강의에서는 PL/SQL에서 SQL 쿼리 결과를 행 단위로 처리하는 커서에 대해 배워보겠습니다.
📍 1. 커서란?
SQL 쿼리 결과 집합을 저장하는 임시 작업 공간으로, 행 단위로 데이터를 처리할 수 있습니다.
📌 2. 커서의 종류
- 명시적 커서: 사용자가 직접 선언하고 제어
- 암시적 커서: PL/SQL이 자동으로 관리
🔄 3. 명시적 커서 사용법
- 커서 선언
DECLARE
CURSOR emp_cursor IS
SELECT emp_id, name FROM employees;
v_id employees.emp_id%TYPE;
v_name employees.name%TYPE;
BEGIN
-- 실행부
END;
- 커서 열기
OPEN emp_cursor;
- 데이터 패치
FETCH emp_cursor INTO v_id, v_name;
- 커서 닫기
CLOSE emp_cursor;
♻️ 4. 커서 루프
4.1. WHILE 루프
OPEN emp_cursor;
FETCH emp_cursor INTO v_id, v_name;
WHILE emp_cursor%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(v_id || ': ' || v_name);
FETCH emp_cursor INTO v_id, v_name;
END LOOP;
CLOSE emp_cursor;
4.2. FOR 루프
FOR emp_rec IN emp_cursor LOOP
DBMS_OUTPUT.PUT_LINE(emp_rec.emp_id || ': ' || emp_rec.name);
END LOOP;
ℹ️ 5. 암시적 커서 속성
SQL%ROWCOUNT
: 영향 받은 행 수SQL%FOUND
: 행이 반환되었는지 여부SQL%NOTFOUND
: 행이 반환되지 않았는지 여부
팁: 커서 FOR 루프는 자동으로 커서를 열고 닫아주므로 코드를 간결하게 작성할 수 있습니다.
이번 강의에서는 PL/SQL에서 행 단위 데이터 처리를 위한 커서 사용법을 학습했습니다. 다음 강의에서는 저장 프로시저에 대해 알아보겠습니다.
728x90
반응형