PL/SQL - IF-THEN 语句

  • 简述

    它是最简单的形式 IF 控制语句,经常用于决策和改变程序执行的控制流程。
    IF statement 将条件与关键字包围的语句序列相关联 THENEND 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 statement将被执行。如果布尔表达式的计算结果为 false,则结束后的第一组代码if statement (在结束结束 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.