728x90
loop문
loop
반복할 문장;
exit when 조건문; -- 조건문이 true면 종료, exit문이 없으면 무한루프
end loop;
declare
num number := 1;
begin
loop
dbms_output.put_line(num);
num := num + 1;
exit when num > 10;
end loop;
end;
변수값과 문자열
변수명 || '문자열'
declare
num number := 1;
begin
loop
dbms_output.put_line(num || 'ㅇㅅㅇ');
num := num + 1;
exit when num > 10;
end loop;
end;
while문
while(조건식) -- 조건식이 ture인 동안 반복
loop
반복할 문장;
end loop;
declare
num number := 1;
begin
while(num <= 10)
loop
dbms_output.put_line(num || 'ㅇㅅㅇ');
num := num + 1;
end loop;
end;
반복문을 사용해 구구단 7단 출력
declare
dan number := 7;
num number := 1;
begin
while(num < 10)
loop
dbms_output.put_line(dan || ' * ' || num || ' = ' || dan * num);
num := num + 1;
end loop;
end;
for문
for 변수 in 초기값..최종값
loop
반복할 문장
end loop;
begin
for i in 1..10
loop
dbms_output.put_line('Hello Oracle');
end loop;
end;
문제.
for문을 이용하여 1 ~ 10까지 아래와 같이 출력
1 홀수!
2 짝수!
3 홀수!
4 짝수!
...
10 짝수!
begin
for i in 1..10
loop
if mod(i, 2) = 0 then
dbms_output.put_line(i || ' 짝수!');
else
dbms_output.put_line(i || ' 홀수!');
end if;
end loop;
end;
나머지 값 구하기
mod(값, 나눌 값)
문제.
tb_gugudan 테이블 생성
gu_dan 단
gu_num 수
gu_result 결과
2 ~ 9단까지 2중 for문을 이용하여 tb_gugudan 테이블에 값 저장
테이블 생성
create table tb_gugudan (
gu_dan number not null,
gu_num number not null,
gu_result number not null
);
declare
dan number := 2;
num number := 1;
begin
for dan in 2..9
loop
for num in 1..9
loop
insert into tb_gugudan values (dan, num, dan * num);
end loop;
end loop;
end;
테이블 조회
select * from tb_gugudan;
728x90
'SQL > Oracle' 카테고리의 다른 글
[Oracle] 프로시저(procedure) (0) | 2022.06.16 |
---|---|
[Oracle] 예외 처리(Exception) (0) | 2022.06.16 |
[Oracle] 조건문 (0) | 2022.06.16 |
[Oracle] PL/SQL (0) | 2022.06.16 |
[Oracle] sequence (0) | 2022.06.16 |