[오라클 PL/SQL] 오라클 PL/SQL 제어문 IF문 사용방법
- Database(데이터베이스)/Oracle
- 2019. 10. 10. 02:00
안녕하세요.
오늘은 오라클 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; |
실행 결과
이렇게 위와 같이 실행결과가 나오는 것을 확인하실 수 있습니다.
그럼 이제 다음으로 조건이 여러 개인 IF문을 예제를 통해 사용법을 보여드릴게요.
위와 같이 STUDENT 테이블이 있습니다. 여기서 SCORE가 90이상 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; |
실행 결과
위와 같이 실행 결과가 제대로 나오는 것을 확인 하실 수 있습니다.
감사합니다.^^
'Database(데이터베이스) > Oracle' 카테고리의 다른 글
[오라클 PL/SQL] 오라클 PL/SQL CASE 문 사용 방법 (0) | 2019.10.12 |
---|---|
[오라클 SQL] ROWID 를 이용한 중복 제거 하는 방법 (0) | 2019.10.11 |
[오라클 SQL] ORDER BY NULL값 정렬하기, NULLS FIRST, NULLS LAST (0) | 2019.09.10 |
[오라클 SQL] 오라클 날짜 함수 SYSDATE, ADD_MONTHS, LAST_DAY, ROUND, NEXT_DAY 함수 사용방법 (0) | 2019.09.02 |
[오라클 SQL] INSTR 함수 사용방법 (0) | 2019.08.29 |
이 글을 공유하기