Oracle/PLSQL: условные операторы IF-THEN-ELSE

Существует три различных синтаксиса условных операторов этого типа.

Синтаксис #1: IF-THEN

IF condition THEN

         {…statements…}

END IF;

Синтаксис #2: IF-THEN-ELSE

IF condition THEN

         {…statements…}

ELSE

         {…statements…}

END IF;

Синтаксис #3: IF-THEN-ELSIF

IF condition THEN

         {…statements…}

ELSIF condition THEN

         {…statements…}

ELSE

         {…statements…}

END IF;

Рассмотрим пример функции в которой используется оператор the IF-THEN-ELSE:

CREATE OR REPLACE Function IncomeLevel

     ( name_in IN varchar2 )

     RETURN varchar2

IS

     monthly_value number(6);

     ILevel varchar2(20);

     cursor c1 is

        select monthly_income

        from employees

        where name = name_in;

  BEGIN

open c1;

fetch c1 into monthly_value;

close c1;

IF monthly_value <= 4000 THEN

     ILevel := ‘Low Income’;

ELSIF monthly_value > 4000 and monthly_value <= 7000 THEN

     ILevel := ‘Avg Income’;

ELSIF monthly_value > 7000 and monthly_value <= 15000 THEN

     ILevel := ‘Moderate Income’;

ELSE

     ILevel := ‘High Income’;

END IF;

  RETURN ILevel;

END;

В этом примере мы создали функциию IncomeLevel. Она принимает один параметр name_in и возвращает значение с типом данных varchar2. Если точнее, функция возвращает уровень доходов, основываясь на имени сотрудника.

Оставить комментарий