PLSQL:if then else语句段

今天,写存储过程时写成了:if...then...else if....else...end if.能编译通过,但是有问题,后来实在是找不到问题怀疑写错了这个语句,后来在网上查了一下,结果不是else if 而是elsif.改过来后就正常了。

Oracle/PLSQL: IF-THEN-ELSE Statement

There are three different syntaxes for these types of statements.

Syntax #1: IF-THEN

IF condition THEN

         {...statements...}

END IF;

 

Syntax #2: IF-THEN-ELSE

IF condition THEN

         {...statements...}

ELSE

         {...statements...}

END IF;

 

Syntax #3: IF-THEN-ELSIF

IF condition THEN

         {...statements...}

ELSIF condition THEN

         {...statements...}

ELSE

         {...statements...}

END IF;

 

Here is an example of a function that uses the IF-THEN-ELSE statement:

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 <= 7000THEN --逻辑与

     ILevel := 'Avg Income';

ELSIF monthly_value > 7000 and monthly_value <= 15000 THEN

     ILevel := 'Moderate Income';

ELSE

     ILevel := 'High Income';

END IF;

  RETURN ILevel;

END;

In this example, we've created a function called IncomeLevel. It has one parameter calledname_in and it returns a varchar2. The function will return the income level based on the employee's name.

文章出处:

http://sunboyyyl.blog.163.com/blog/static/2247381200962411621900/

posted @ 2020-07-02 15:45  zhangqi0828  阅读(1094)  评论(0编辑  收藏  举报