-
Oracle - 반복문(LOOP, WHILE, FOR)Database/Oracle 2022. 4. 25. 18:01
Oracle 반복문
LOOP 문
1. 사용법
LOOP 처리문; EXIT[조건]; END LOOP;
LOOP 문의 사용방법은 위와 같다.
2. 예제
DECLARE NUM01 NUMBER := 1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE(NUM01); -- 변수 출력 NUM01 := NUM01 + 1; -- 변수 1씩 증가 EXIT WHEN NUM01 > 10; -- NUM01이 10보다 크면 반복문 종료 END LOOP; END;
반복문은 특정 조건까지만 반복하며 로직을 수행하는데, LOOP 문의 반복문은 EXIT[WHEN 조건];이라는 구절에서 종료된다. 따라서, EXIT를 누락하면 해당 LOOP는 무한루프에 빠지게 되니 사용할 때 주의해야 한다.
1 2 3 4 5 6 7 8 9 10
앞서 설명한 코드의 결과는 위와 같다.
WHILE 문
1. 사용법
WHILE(조건) LOOP 처리문; END LOOP;
WHILE 문의 사용 방법은 위와 같다.
2. 예제
DECLARE NUM01 NUMBER := 1; BEGIN WHILE(NUM01 < 10) LOOP NUM01 := NUM01 + 1; DBMS_OUTPUT.PUT_LINE(NUM01); END LOOP; END;
WHILE 문은 조건문이 WHILE 다음에 나오는 것만 제외하고 LOOP 문과 동일하다. WHILE 문에서도 LOOP 문과 같이 EXIT 구절을 사용해서 반복문을 빠져나갈 수 있다.
1 2 3 4 5 6 7 8 9
앞서 설명한 코드의 결과는 위와 같다.
FOR 문
1. 사용법
FOR 증감변수 IN 초기값..최종값 LOOP 처리문; END LOOP;
FOR 문의 사용 방법은 위와 같다.
2. 예제
BEGIN FOR I IN 1..9 LOOP DBMS_OUTPUT.PUT_LINE('안녕하세요.'); -- 출력 END LOOP; END;
FOR 문의 경우 인덱스 값을 선언문에 선언하지 않아도 되기 때문에, 반복문중에서 가장 간단하게 사용할 수 있다. 인덱스 값은 초기값에서 시작해서 최종 값까지 1씩 증가하게 되며, 인덱스는 참조는 가능하지만 변경을 할 수는 없다.
추가적으로, FOR 문에 REVERSE를 명시해주면 FOR문이 거꾸로 시작한다. ex) FOR I IN REVERSE 1..9
안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요. 안녕하세요.
앞서 설명한 코드의 결과는 위와 같다.
출처
ㆍ https://coding-factory.tistory.com/452
728x90'Database > Oracle' 카테고리의 다른 글
Oracle - BETWEEN AND (0) 2022.05.02 Oracle - 조건문(IF, CASE) (0) 2022.04.27 Oracle - MERGE INTO (0) 2022.04.26 Oracle - 변수 및 상수 선언 (0) 2022.04.25 Oracle - MySQL의 LIMIT & Oracle의 ROWNUM (0) 2022.04.04