🌀 Oracle 반복문의 종류
Oracle PL/SQL에서 반복문은 총 3가지 종류가 있어!
| 반복문 종류 | 특징 |
| LOOP | 무한 루프 (탈출 조건 필요!) |
| WHILE LOOP | 조건을 만족하는 동안 반복 |
| FOR LOOP | 정해진 횟수만큼 반복 (가장 간단함!) |
✅ 1. 기본 LOOP (무한 반복)
📌 형식
LOOP
-- 반복할 작업
EXIT WHEN 조건;
END LOOP;
🧪 예제: 1부터 5까지 출력
DECLARE
i NUMBER := 1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('i = ' || i);
i := i + 1;
EXIT WHEN i > 5;
END LOOP;
END;
✅ 2. WHILE LOOP
조건을 먼저 검사한 다음, 참일 때만 반복해.
📌 형식
WHILE 조건 LOOP
-- 반복할 작업
END LOOP;
🧪 예제: 1부터 5까지 출력
DECLARE
i NUMBER := 1;
BEGIN
WHILE i <= 5 LOOP
DBMS_OUTPUT.PUT_LINE('i = ' || i);
i := i + 1;
END LOOP;
END;
✅ 3. FOR LOOP
시작값부터 끝값까지 정해진 횟수만큼 반복 (Java의 for(int i=0; i<5; i++)와 비슷)
📌 형식
FOR 변수 IN 시작값..끝값 LOOP
-- 반복할 작업
END LOOP;
🧪 예제: 1부터 5까지 출력
BEGIN
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('i = ' || i);
END LOOP;
END;
📌 FOR LOOP – 역순도 가능!
BEGIN
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('i = ' || i);
END LOOP;
END;
✨ BONUS: CONTINUE & EXIT
| 키워드 | 설명 |
| EXIT | 반복문 탈출 |
| EXIT WHEN 조건 | 조건을 만족하면 탈출 |
| CONTINUE | 현재 반복을 건너뛰고 다음으로 넘어감 (11g부터 사용 가능) |
🧪 예제: 짝수만 출력
BEGIN
FOR i IN 1..10 LOOP
IF MOD(i, 2) = 1 THEN
CONTINUE;
END IF;
DBMS_OUTPUT.PUT_LINE('짝수: ' || i);
END LOOP;
END;
✅ 언제 어떤 반복문을 쓰면 좋을까?
| 상황 | 추천 반복문 |
| 반복 횟수가 정해져 있음 | FOR LOOP |
| 조건이 참일 동안 반복 | WHILE LOOP |
| 반복 중 탈출 조건을 제어하고 싶을 때 | LOOP + EXIT |
📦 실무에서 반복문 사용하는 예
- 테이블에 있는 데이터를 한 줄씩 처리할 때
- 일괄적으로 INSERT/UPDATE할 때
- 숫자 계산, 누적 합계 계산
- 커서(Cursor)와 함께 레코드 반복 처리
😎 정리 요약
| 반복문 | 설명 | 사용법 |
| LOOP | 무한 반복 → EXIT로 탈출 | LOOP ... EXIT WHEN 조건; END LOOP; |
| WHILE | 조건을 만족하는 동안 반복 | WHILE 조건 LOOP ... END LOOP; |
| FOR | 횟수 정해져 있을 때 | FOR i IN 1..10 LOOP ... END LOOP; |
'대덕인재 > Oracle' 카테고리의 다른 글
| [Oracle D-19] 프로시저 (Procedure) (0) | 2025.04.25 |
|---|---|
| [Oracle D-18] 커서 (CURSOR)/ 암시적 커서 (implicit cursor)와 명시적 커서 (explicit cursor) (0) | 2025.04.24 |
| [Oracle D-18] 변수 (0) | 2025.04.24 |
| [Oracle D-18] 분기문 (0) | 2025.04.24 |
| [Oracle D-17] LOOP (0) | 2025.04.23 |