[PLSQL 반복문, LOOP, FOR, WHILE 예제]임의의 수입력받아 그수까지의 합을 구하는 예제
Accept를 이용하여 숫자를 입력받고 1부터 그 수까지의 합을 구하세요
- basic loop문
- for loop문
- while loop문
--------------------------------------------------------------------------------------------------
1. BASIC LOOP 이용
SQL>edit a
set serveroutput on
accept p_num prompt 'Enter a number : '
create or replace procedure sum1
is
v_sum number := 0;
i number := 0;
begin
loop
i := i + 1;
v_sum := v_sum + i;
exit when i >= &p_num ;
end loop;
dbms_output.put_line(&p_num || '까지 합은 ' || v_sum);
end;
/
SQL>@a
Enter a number : 10
구 10: exit when i >= &p_num ;
신 10: exit when i >= 10 ;
구 12: dbms_output.put_line(&p_num || '까지 합은 ' || v_sum);
신 12: dbms_output.put_line(10 || '까지 합은 ' || v_sum);
프로시저가 생성되었습니다.
SQL> exec sum1;
10까지 합은 55
PL/SQL 처리가 정상적으로 완료되었습니다.
2. FOR LOOP 이용
SQL>edit a1
set serveroutput on
accept p_num prompt 'Enter a number : '
create or replace procedure sum2
is
v_sum number := 0;
begin
for i in 1..&p_num loop
v_sum := v_sum + i;
end loop;
dbms_output.put_line(&p_num || '까지 합은 ' || v_sum);
end;
/
SQL> @a1
Enter a number : 10
구 6: for i in 1..&p_num loop
신 6: for i in 1..10 loop
구 9: dbms_output.put_line(&p_num || '까지 합은 ' || v_sum);
신 9: dbms_output.put_line(10 || '까지 합은 ' || v_sum);
프로시저가 생성되었습니다.
SQL> exec sum2;
10까지 합은 55
PL/SQL 처리가 정상적으로 완료되었습니다.
3. WHILE LOOP 이용
SQL>edit a2
set serveroutput on
accept p_num prompt 'Enter a number : '
create or replace procedure sum3
is
i number := 0;
v_sum number := 0;
begin
while (i < &p_num) loop
i := i + 1;
v_sum := v_sum + i;
end loop;
dbms_output.put_line(&p_num || '까지 합은 ' || v_sum);
end;
/
SQL>@a2
Enter a number : 10
구 6: while (i < &p_num) loop
신 6: while (i < 10) loop
구 10: dbms_output.put_line(&p_num || '까지 합은 ' || v_sum);
신 10: dbms_output.put_line(10 || '까지 합은 ' || v_sum);
프로시저가 생성되었습니다.
SQL> exec sum3
10까지 합은 55
PL/SQL 처리가 정상적으로 완료되었습니다.
댓글 없음:
댓글 쓰기