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;

如果布尔表达式条件的计算结果为真,则 if 语句 中的代码块将被执行。如果布尔表达式的计算结果为假,则将执行 if 语句 结束之后(结束 if 之后)的第一组代码。


流程图

PL/SQL if-then 语句

示例 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. 

❮ PL/SQL 条件