본문 바로가기

DB/Oracle

[Oracle] 조건문 IF, 제어문 LOOP, 제어문 FOR

CASE
     WHEN max_salary - min_salary < 5000 THEN 'low"
     WHEN max_salary - min_salary < 10000 THEN 'middle'
     ELSE 'high'
END CASE;

PL/SQL에서는 실행문에서 조건문(IF)를 사용할 수 있다.

 

IF문 문법

 

IF 조건이 참이면 THEN

 구문1 ;

ELSIF 조건이 참이면 THEN

 구문2 ;

ELSE

 규뮨3 ;

END IF;

 

EX)

 

 

와 같은 뜻

 

IF max_salary - min_salary < 5000 THEN 'low';
ELSIF max_salary - min_salarY < 10000 THEN 'middle';
ELSE 'high';
END IF;

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

PL/SQL에서는 실행문에서 제어문(LOOP,FOR)을 사용할 수 있다.

 

LOOP EX)

SET SERVEROUTPUT ON

CREATE OR REPLACE PROCEDURE sumofNum
IS
   l_num NUMBER := 0;
   I_sum NUMBER := 0;

BEGIN

   LOOP
             l_num := l_num + 1;
             l_sum := l_sum + l_num;

            DBMS_OUTPUT.PUT_LINE(l_num ||' '|| l_sum);
            
   EXIT WHEN l_num = 10;
END;

FOR EX)  LOOP EX와 같은 뜻

SET SERVEROUTPUT ON

CREATE OR REPLACE PROCEDURE sumofNum
IS
   l_num NUMBER := 0;
   l_sum NUMBER := 0;

BEGIN

   FOR i IN 1..10 LOOP 

   -- i는 인덱스이며 '시작 값 .. 종료 값' 까지 1씩 증가, 인덱스는 별도로 선언이 필요없음
             l_num := l_num + 1;
             l_sum := l_sum + l_num;

            DBMS_OUTPUT.PUT_LINE(l_num ||' '|| l_sum);
            
   END LOOP;
END;