- If 조건이 TRUE일 경우에만 THEN 절 이후의 문장들을 실행

  - FALSE, NULL 이면 다음 elsif 절의 조건을 평가하거나 else 이후의 문장들을 실행


declare

 age number;

begin

 if age < 30 then

   p('Hi ~~'); ---> 1

   p('You''re young.'); ---> 2

 elsif age < 60 then

   p('You''re still young.'); ---> 3

 elsif (age < 100) is null then

   p('Your age is null');

 else

   p('Your age is over 60.');

 end if;


end;

/


* age 변수의 값이 30 미만이라면

- 1, 2의 문장만을 수행하고 if 문을 빠져나옴. (3번 문장 실행 안함)


* age 변수가 선언시 값이 주어지지 않았으므로 NULL 값으로 초기화 됨

- 앞선 두 개의 조건절 (age < 30, age < 60)은 

 (null < 30, null < 60)이 되므로 조건절을 평가한 결과는 NULL -> 통과

- (age < 100) is null 은 (null < 100) is null => null is null 이므로

 조건절 평가 결과는 TRUE


+ Recent posts