※PL/SQL제어문 정리
제어문 | 설명 | 예시 |
IF문 | IF 조건 THEN 조건처리 END IF; |
![]() ->위와 같이 DECLARE후 IF문을 쓴다. |
CASE문 | CASE문은 2가지 형식으로 처리 가능 1.CASE 표현식 WHEN 결과1 THEN 처리문1; WHEN 결과2 THEN 처리문2; ELSE 기타 처리문; END CASE; 2.CASE THEN 표현식1 THEN 처리문1; THEN 표현식2 THEN 처리문2; ELSE 기타 처리문; END CASE; |
![]() ->위의 IF문과 같은 결과를 얻을수 있음. |
LOOP문 | LOOP 처리문; EXIT [WHEN 조건]; END LOOP; |
![]() ->3단에 대한 부분을 위와 같이 처리 LOOP
DBMS_OUTPUT.PUT_LINE (SAMPLE_NUMBER ||'*'|| SAMPLE_CNT || '=' || SAMPLE_NUMBER* SAMPLE_CNT); SAMPLE_CNT :=SAMPLE_CNT+1; --1씩 증가 EXIT WHEN SAMPLE_CNT >9; --9이상일 경우 멈춤 END LOOP; 위와 같이 EXIT WHEN조건에 맞을 경우 빠져나가게 한다. |
WHILE문 | WHILE 조건 LOOP 처리문; END LOOP; |
![]() -> 위의 조건에서 다른점은 EXIT [WHEN 조건];문을 안썼다는것이다. 만약 중간에 LOOP문을 빠져 나오고 싶으면 LOOP문에 EXIT [WHEN 조건];부분을 넣어주면 LOOP문을 빠져나오게 할수 있다. ![]() ->위의 이미지 처럼 EXIT WHEN조건절을 통해 중간에 빠져나오게 할수 있다. |
FOR문 | FOR 인덱스 IN [REVERSE]초기값..최종값 LOOP 처리문; END LOOP; |
![]() ->위와 같이 for문을 실행하여 3단을 출력할수 있다. ![]() ->위와 같이 REVERSE를 사용하면 역순으로 출력이 가능하다. |
CONTINUE문 | 반복문내에 특정 조건에 부합할때 처리로직을 건너뛰고 상단의 루프조건으로 건너가 루프를 계속 수행할 때 사용. (제어범위가 조건절로 넘어간다.) ※오라클 11G부터 지원한다. |
![]() ->위와 같이 continue문을 쓰게 되면 해당 조건에 충족되는 부분을 제외하고 다시 반복문을 실행한다. |
GOTO문 | 지정하는 라벨로 제어가 넘어간다. | ![]() ->위의 이미지에서 값이 3일 경우GOTO fourth라벨로 되어있어 라벨인 fourth로 이동하여 for문을 실행하고 있다. |
'DB > ORACLE' 카테고리의 다른 글
25.[오라클]프로시저 정리 (0) | 2024.02.20 |
---|---|
24.[오라클]PL/SQL 사용자 함수(FUNCTION) (0) | 2024.02.20 |
22.[오라클]다중INSERT하기 (0) | 2024.02.18 |
21.[오라클]분석함수와window (0) | 2024.02.14 |
20.[오라클]WITH절 (0) | 2024.02.14 |