오라클 반복문 (for loop, while loop)
Back-End/Data Base 2019. 7. 3. 13:42- for loop -
[문법 예시]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SET serveroutput ON; //서버에서 출력되는 값을 기본값을 설정 BEGIN // 반복문의 시작 부분 FOR i in 1..4 LOOP // 4번 회전시킨다는 의미 if mod(i, 2) = 0 then //짝수인지 홀수인지 판단하기 위해 i를 2로 나누었을때의 값이 0인지 아닌지 판ㅇ dbms_output.put_line(i || '는 짝수!!'); //if구문이 참이면 실행되는 구문 ex) 2는 짝수!! else dbms_output.put_line(i || '는 홀수!!'); //if구문이 거짓이면 실행되는 구문 ex) 3는 거짓!! end if; //if구문의 끝 END LOOP; LOOP를 종료시킨다는 의미 END; //반복문의 끝 부분 | cs |
- while -
[문법]
1 2 3 4 | while 조건 LOOP 처리문; END LOOP; | cs |
while 문은 loop 문과 비슷하지만 while 다음에 조건을 붙여 해당 조건에 만족할 때만 루프를 돌면서 로직을 처리한다.
while 다음에 조건처리를 한 부분만 제외하면 다른 부분은 LOOP 문과 같지만, LOOP문과 달리 vn_cnt값이 9보다 작거나
같은 경우라는 조건을 주었다는 점을 살펴보자.
LOOP문에서는 루프를 빠져 나가는 조건을 주었지만, while 문에서는 루프를 수행하는 조건을 준 것이다.
while문에서도 루프를 돌다가 특정 조건에 부합하면 exit를 써서 루프를 빠져 나올 수 있다.
- while 문을 사용해 구구단 3단을 출력하는 예시 -
1 2 3 4 5 6 7 8 9 10 | DECLARE vn_base_num NUMBER := 3; //변하지 않는 기본값 vn_cnt NUMBER := 1; //3단을 출력해야하므로 1씩 증가하는 숫자 BEGIN WHILE vn_cnt <= 9 --vn_cnt가 9보다 작거나 같을 때만 반복 LOOP DBMS_OUTPUT.PUT_LINE (vn_base_num || '*' || vn_cnt || '=' || vn_base_num * vn_cnt); vn_cnt := vn_cnt + 1; --vn_cnt 값을 1씩 증가 END LOOP; END; | cs |
출력된 결과값
1 2 3 4 5 6 7 8 9 | 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 | cs |
'Back-End > Data Base' 카테고리의 다른 글
ERD (ER 다이어그램) Cloud (0) | 2019.07.08 |
---|---|
MongoDB 문법, SQL과의 비교 (0) | 2019.07.08 |
오라클 변수 선언 (0) | 2019.07.03 |
기본 용어 정리 (0) | 2019.06.27 |
무결성이란? (0) | 2019.06.27 |