Basic Loop
무조건 1번은 실행 한 후 조건에 맞지 않으면 실행하지 않습니다.
Basic Loop 문의 구조
Loop
PL/SQL 문장;
EXIT 조건 ;
END LOOP;
SET SERVEROUTPUT ON;
DECLARE
num number := 0;
BEGIN
LOOP
dbms_output.put_line(num);
num := num+1;
EXIT WHEN num >10;
END LOOP;
END;
/
---------------------------------------------------
DECLARE
num number := 10;
BEGIN
LOOP
dbms_output.put_line(num);
num := num-1;
EXIT WHEN num = -1;
END LOOP;
END;
/
While 문
조건을 먼저 확인 후 실행 여부를 판단 합니다.
While 문의 구조
WHILE 조건 LOOP
실행 문장;
END LOOP;
DECLARE
num number := 0;
BEGIN
WHILE num <11 LOOP
dbms_output.put_line(num);
num := num +1;
END LOOP;
END;
/
-------------------------------------------
DECLARE
num number := 10;
BEGIN
WHILE num >=0 LOOP
dbms_output.put_line(num);
num := num -1;
END LOOP;
END;
For 문
반복 횟수를 지정할 수 있습니다.
For 문의 구조
For n:카운터 횟수 IN START...END LOOP
실행문장;
END LOOP;
BEGIN
FOR num IN 0..10 LOOP
dbms_output.put_line(num);
END LOOP;
END;
---------------------------------------------------
BEGIN
FOR num IN REVERSE 0..10 LOOP
dbms_output.put_line(num);
END LOOP;
END;
Continue 문
Oracle 11g 에서 추가되었으며 보조제어합니다.
조건에 부합할때 상위로 올라갑니다.
DECLARE
tot number := 0;
BEGIN
FOR i in 1..10 LOOP
tot := tot+1;
dbms_output.put_line('tot:'||tot);
CONTINUE WHEN (i>5);
tot := tot+i;
dbms_output.put_line('tot2:'||tot);
END LOOP;
END;
'DataBase > Oracle' 카테고리의 다른 글
17. Oracle PL/SQL 조건문 (0) | 2020.04.02 |
---|---|
16. Oracle 콜렉션,바인드 함수 (0) | 2020.04.02 |
15. Oracle PL/SQL (0) | 2020.04.02 |
14. Oracle 계층형쿼리 (0) | 2020.03.30 |
13. Oracle Sequence (0) | 2020.03.30 |