PL/SQL - IF-THEN 语句



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

IF语句将一个条件与由关键字THENEND IF括起来的语句序列关联起来。如果条件为TRUE,则执行这些语句;如果条件为FALSENULL,则IF语句不执行任何操作。

语法

IF-THEN语句的语法如下:

IF condition THEN  
   S; 
END IF; 

其中condition是布尔或关系条件,S是简单语句或复合语句。以下是IF-THEN语句的示例:

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

如果布尔表达式condition计算结果为true,则将执行if语句内部的代码块。如果布尔表达式计算结果为false,则将执行if语句结束后的第一组代码(在结束if之后)。

流程图

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; 
/

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

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. 
plsql_conditional_control.htm
广告