경진의 블로그

PL/SQL - While Loop 순환문 본문

자바개발과정/오라클(Oracle)

PL/SQL - While Loop 순환문

aith 2008. 6. 3. 13:05
While Loop

While Loop문은 임의의 조건이 만족하지 않을 때까지 반복하는 반복문이다.
따라서 For Loop문처럼 고정된 횟수만큼만 반복하는 것이 아니라 조건을 해지할 때까지 반복한다.
따라서 조건을 해지하게끔 프로그램을 유도해야지 잘못하면 무한루프, 다시 말해 그 반복문을 벗어나지 못해서, 프로그램이 영원히 끝나지 않아 강제로 프로그램을 종료시켜야 하는 경우가 발생한다.

WHILE 조건문 LOOP
   [EXIT [WHEN 조건문];]
END LOOP

 i := 0;
 WHILE i < 100 LOOP
     i := i + 1;
 END LOOP;

declare
n_i number(10) := 0;
n_sum number(10) := 0;
s_msg varchar2(100) := '';
begin
    while n_i < 100 loop
        n_i := n_i + 1;
        n_sum := n_sum + n_i;
    end loop;
    dbms_output.put_line('1~100까지의 합은 '||to_char(n_sum));
    n_i := 10;
    while n_i > 0 loop
        s_msg := RPAD(' ',n_i + 1,'*');
        dbms_output.put_line(s_msg);
        n_i := n_i - 1;
    end loop;
    n_i := 0;
    n_sum := 0;
    while n_i < 100 loop
        n_i := n_i + 1;
        if mod(n_i,5) = 0 then
            n_sum := n_sum + n_i;
        end if;
    end loop;
    n_i := 0;
    n_sum := 0;
    dbms_output.put_line('1~100까지의 5의 배수의 합은 '||to_char(n_sum));
    while n_i < 100 loop
        n_i := n_i + 1;
        n_sum := n_sum + n_i;
        exit when n_i = 50;
    end loop;
    dbms_output.put_line('1~100 더하다가 50에서 멈추면 '||to_char(n_sum));
end;
/

'자바개발과정 > 오라클(Oracle)' 카테고리의 다른 글

PL/SQL - Exception 예외처리  (0) 2008.06.03
PL/SQL - Loop 반복문  (0) 2008.06.03
PL/SQL - While Loop 순환문  (0) 2008.06.03
PL/SQL - For Loop 반복문  (0) 2008.06.03
PL/SQL - For Loop 반복문  (0) 2008.06.02
PL/SQL - IF 조건 분기문  (0) 2008.06.02
0 Comments
댓글쓰기 폼