반복 도중 특정 조건일때 중단하게 하려면 어떻게 해야할까? 바로 CONTINUE를 사용하면 된다.
IF condition THEN
CONTINUE;
END IF;
IF 문에서는 기본적으로 이렇게 사용되며 LOOP, FOR LOOP, WHILE LOOP 모두 적용된다.
BEGIN
FOR n_index IN 1 .. 10
LOOP
-- skip odd numbers
IF MOD( n_index, 2 ) = 1 THEN
CONTINUE;
END IF;
DBMS_OUTPUT.PUT_LINE( n_index );
END LOOP;
END;
익명 블록이 완료되었습니다.
2
4
6
8
10
FOR LOOP 안에서 mod(n_index, 2) = 1 이 true인 경우에는 continue 해주고 나머지는 출력해주어 2의 배수일 때만 결과값이 나타나게 하였다.
BEGIN
FOR n_index IN 1 .. 10
LOOP
-- skip even numbers
CONTINUE
WHEN MOD( n_index, 2 ) = 0;
DBMS_OUTPUT.PUT_LINE( n_index );
END LOOP;
END;
익명 블록이 완료되었습니다.
1
3
5
7
9
마찬가지로 WHEN에서도 사용할 수 있다. 이번엔 반대로 MOD(n_index, 2) = 0 일때에는 continue 해주고 아닐 때에 출력해주었다.
'Database > PL SQL' 카테고리의 다른 글
PL/SQL Tutorial - SELECT INTO (0) | 2019.05.08 |
---|---|
PL/SQL Tutorial - Exception handlers (0) | 2019.05.08 |
PL/SQL Tutorial - LOOP (0) | 2019.05.08 |
PL/SQL Tutorial - NULL (0) | 2019.05.07 |
PL/SQL Tutorial - GOTO (0) | 2019.05.07 |