[오라클 PL/SQL] 오라클 PL/SQL 제어문 IF문 사용방법


 

안녕하세요.


오늘은 오라클 PL/SQL문에서 제어문 중 하나인 IF문 구문에 대해서 어떻게 사용하는지에 대해서 예제 코드를 통하여 알려 드리겠습니다.

 

IF문이 뭐냐고 묻는다면 이해하기 쉽게, 특정 조건에 따라서 처리를 하는 구문이라고 이해하시면 됩니다.

 

IF문 구문


<조건이 1개인 경우>

IF 조건 THEN

           조건처리;

END IF;

 

<조건이 2개일 경우>

IF 조건 THEN

           조건처리;

ELSE

           조건처리2

END IF;

 

<조건이 n개인 경우>

IF 조건 1 THEN

            조건처리1

ELSIF 조건2 THEN;

조건처리2

ELSE

조건처리 N

END IF;

 

IF문의 구문은 위와 같이 구성이 되어 있습니다. PL/SQL구문을 접하시기 전에 이미 다른 C, JAVA, C# 과 같은 프로그래밍 언어를 접하신 분들이라면 위의 IF문의 구문이 매우 익숙하실 거라 생각합니다.^^


 

그럼 이제 실제로 IF구문을 사용해 보도록 할게요.

 

예제 코드


1

2

3

4

5

6

7

8

9

10

11

12

DECLARE

    vn_num1 NUMBER := 10;

    vn_num2 NUMBER := 20;

    

BEGIN

    IF

        vn_num1 > vn_num2 THEN

        DBMS_OUTPUT.PUT_LINE(vn_num1 || '   입니다.');

    ELSE

        DBMS_OUTPUT.PUT_LINE(vn_num2 || '   입니다.');

    END IF;

END;

Colored by Color Scripter

cs

 

실행 결과



 

이렇게 위와 같이 실행결과가 나오는 것을 확인하실 수 있습니다.

 

그럼 이제 다음으로 조건이 여러 개인 IF문을 예제를 통해 사용법을 보여드릴게요.

 


위와 같이 STUDENT 테이블이 있습니다. 여기서 SCORE90이상 100사이면 ‘A’학점, 80이상 90미만이면 ‘B’ 학점 이런 식으로 여러 조건을 주는 예제코드를 작성해 보도록 하겠습니다.

 

조건이 여러 개인 IF구문 예제


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

28

SELECT *

FROM WIN.STUDENT;

 

DECLARE

    vn_score WIN.STUDENT.SCORE%TYPE;

BEGIN

    SELECT stu.SCORE

    INTO vn_score -- 선언부에 선언한 vn_score 변수에 win.student 테이블에 있는 score  저장

    FROM WIN.STUDENT stu

    WHERE 1 = 1

    AND stu.NAME = '류현진' ;--이름이 '류현진이라는 학생의 성적을 vn_score 변수에 저장

    

    DBMS_OUTPUT.PUT_LINE('류현진 학생의 점수는 = ' || vn_score ||  입니다.');

    

    IF

        vn_score BETWEEN 90 AND 100 THEN

        DBMS_OUTPUT.PUT_LINE ('A');

        

    ELSIF 

        vn_score BETWEEN 80 AND 89 THEN

        DBMS_OUTPUT.PUT_LINE('B');

   ELSIF

        vn_score BETWEEN 70 AND 79 THEN

        DBMS_OUTPUT.PUT_LINE('C');

   ELSE

        DBMS_OUTPUT.PUT_LINE('F');

   END IF;

END;

Colored by Color Scripter

cs


실행 결과



 

위와 같이 실행 결과가 제대로 나오는 것을 확인 하실 수 있습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY