728x90
반응형
SMALL
[문제] 1부터 100까지 합을 출력해주세요.
DECLARE
i number := 1;
i_sum number := 0;
BEGIN
LOOP
i := i + 1;
i_sum := i_sum + i;
IF i > 101 THEN
EXIT;
END IF;
END LOOP;
dbms_output.put_line('i_sum : '||i_sum);
END;
/
정답)
DECLARE
v_cnt number := 1; -- 1부터 시작
v_sum number := 0; -- 누적합
BEGIN
LOOP
v_sum := v_sum+v_cnt;
exit when v_cnt = 100;
v_cnt := v_cnt+1;
END LOOP;
dbms_output.put_line('1부터 100까지의 합 : '||v_sum);
END;
/
[문제] 1부터 100까지 짝수만 출력해주세요.
DECLARE
i NUMBER := 1;
BEGIN
LOOP
i := i + 1;
IF i = 100 and MOD(i, 2) = 0 THEN
EXIT;
END IF;
dbms_output.put_line(i);
END LOOP;
END;
/
수정)
DECLARE
i NUMBER := 1;
BEGIN
LOOP
i := i + 1;
IF i > 100 THEN
EXIT;
END IF;
IF MOD(i, 2)=0 THEN
dbms_output.put_line(i);
END IF;
END LOOP;
END;
/
IF문에 있는 2개의 조건을 1개씩 나눠서 하나씩 짝수만 출력이 된다.
정답)
DECLARE
v_cnt number := 1;
BEGIN
LOOP
IF MOD(v_cnt, 2) = 0 THEN
dbms_output.put_line(v_cnt);
END IF;
v_cnt := v_cnt +1;
exit when v_cnt> 100;
END LOOP;
END;
/
728x90
반응형
LIST
'문제 > SQL' 카테고리의 다른 글
231030 PL/SQL 복습 (0) | 2023.10.30 |
---|---|
231027 PL/SQL 복습 겸 문제 (0) | 2023.10.30 |
231024 Oracle SQL 실기 TEST's 오답노트 (0) | 2023.10.24 |
231024 Oracle SQL 필기 TEST's 오답노트 (0) | 2023.10.24 |
231018 복습 겸 문제 (0) | 2023.10.18 |