2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (1) - PL/SQL 이란?
2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (2) - IF 조건문
지난 포스트에서는 조건문을 간단하게 다루어보았다. 이번 포스트에서는 조건문과 함께 따라다니는 반복문에 대해서 알아보도록하겠다. 사실 반복문은 다음 포스트에서 다룰 CURSOR와 주로 사용되며 개별적으로는 잘 사용되지 않는다.
1. 반복문의 종류.
1-1. LOOP.
- PL/SQL에서 사용되는 기본 문법.
- 기본 문법에 반복문을 탈출하는 조건이 없으므로 내부에서 반드시 로직을 구현해야 함.
* EXIT WHEN [조건식] : 조건식이 참인 경우 탈출.
- 중첩하여 사용할 수 있음.
1-2. WHILE [조건식] LOOP.
- 조건식이 참인 경우에만 수행됨.
- 대부분의 프로그래밍 언어에서 사용하는 반복문인 While문과 똑같음.
- 중첩하여 사용할 수 있음.
2. LOOP 반복문을 사용한 예제.
2-1. 1~10까지 출력하는 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
--실행 결과를 출력하도록 설정
SET SERVEROUTPUT ON
--스크립트 경과 시간을 출력하도록 설정
SET TIMING ON
DECLARE
--변수를 정의하는 영역
V_CNT NUMBER := 1;
BEGIN
--작업 영역
LOOP
DBMS_OUTPUT.PUT_LINE( V_CNT );
V_CNT := V_CNT + 1;
EXIT WHEN V_CNT > 10;
END LOOP;
END
;
--작업 종료
|
cs |
- 15 ln: 반복문의 시작.
- 21 ln: 반복문의 종료 조건.
- 23 ln: 반복문의 종료.
3. WHILE LOOP 반복문을 사용한 예제.
3-1. 1~10까지 출력하는 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
--실행 결과를 출력하도록 설정
SET SERVEROUTPUT ON
--스크립트 경과 시간을 출력하도록 설정
SET TIMING ON
DECLARE
--변수를 정의하는 영역
V_CNT NUMBER := 1;
BEGIN
--작업 영역
WHILE V_CNT <= 10 LOOP
DBMS_OUTPUT.PUT_LINE( V_CNT );
V_CNT := V_CNT + 1;
END LOOP;
END
;
--작업 종료
|
cs |
- 15 ln: 반복문의 시작 및 종료 조건.
- 23 ln: 반복문의 종료.
4. 마치며.
- 이번 포스트는 조건문과 더불어서 아주 간단하게 다루어보았다. 왜냐하면 반복문은 CURSOR를 사용하지 않으면 위와 같이 카운팅하거나 특정 범위의 날짜를 구할 때 주로 쓴다. 그래서 PL/SQL에는 이런 반복문이 있다는 것과 어떻게 사용하는지 정도만 알아두면 좋을것 같다.
- 다음 포스트에서는 CURSOR에 대해서 알아보도록 하겠다.
'DATABASE > ORACLE' 카테고리의 다른 글
[PL/SQL] 무작정 시작하기 (5) - EXCEPTION 예외 (0) | 2020.01.16 |
---|---|
[PL/SQL] 무작정 시작하기 (4) - CURSOR (0) | 2020.01.14 |
[PL/SQL] 무작정 시작하기 (2) - IF 조건문 (0) | 2020.01.13 |
[PL/SQL] 무작정 시작하기 (1) - PL/SQL 이란? (0) | 2020.01.13 |
20190925 (0) | 2019.09.25 |
댓글