位置:首页 > 数据库 > PL/SQL在线教程 > PL/SQL IF-THEN语句

PL/SQL IF-THEN语句

它是最简单的IF控制语句,经常使用的决策和改变程序执行的控制流程的形式。

IF语句关联的条件通过THEN和END IF关键字封闭的语句序列。如果条件为TRUE,语句得到执行,并且如果条件为FALSE或NULL,那么IF语句什么都不做。

语法:

IF-THEN语句的语法是:

IF condition THEN 
   S;
END IF;

其中,条件是布尔或关系条件,S是一个简单的或复合语句。一个IF-THEN语句的例子如下:

IF (a <= 20) THEN
   c:= c+1;
END IF;

如果布尔表达式条件计算为真,那么代码的if语句里面的模块将被执行。如果if语句结束后布尔表达式的值为false那么第一组码(闭幕结束后,若)将被执行。

流程图:

PL/SQL if-then statement

示例 1:

让我们尝试一个完整的例子,来说明这一概念:

DECLARE
   a number(2) := 10;
BEGIN
   a:= 10;
  -- check the boolean condition using if statement 
   IF( a < 20 ) THEN
      -- if condition is true then print the following  
      dbms_output.put_line('a is less than 20 ' );
   END IF;
   dbms_output.put_line('value of a is : ' || a);
END;
/

让我们尝试一个完整的例子,将说明这一概念:

a is less than 20
value of a is : 10

PL/SQL procedure successfully completed. 

示例2:

考虑我们在创建表以及表中的一些记录,因为我们在创建 PL/SQL变量类型

DECLARE
   c_id customers.id%type := 1;
   c_sal  customers.salary%type;
BEGIN
   SELECT  salary 
   INTO  c_sal
   FROM customers
   WHERE id = c_id;
   IF (c_sal <= 2000) THEN
      UPDATE customers 
      SET salary =  salary + 1000
         WHERE id = c_id;
      dbms_output.put_line ('Salary updated');
   END IF;
END;
/

当上述代码在SQL提示符执行时,它产生了以下结果:

Salary updated

PL/SQL procedure successfully completed.