阅读(588) (0)

PL/SQL IF-THEN语句

2021-08-30 16:24:04 更新

if-then语句是IF控制语句中最简单的形式,经常用于决策和更改程序执行的控制流程。

IF语句将条件与关键字THEN和END IF所包含的语句序列相关联。如果条件为TRUE,则语句将被执行,如果条件为FALSE或NULL,则IF语句块不会执行任何操作。

语法

IF-THEN语句的语法是 -

IF condition THEN  
   S; 
END IF;
SQL

在这里,condition是布尔或关系条件,S是简单或复合语句。 以下是IF-THEN语句的一个例子 -

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

如果布尔表达式条件求值为true,则if语句中的代码块将被执行。如果布尔表达式求值为false,则if语句结束后的第一组代码(在结束结束if之后)将被执行。

流程图

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

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

a is less than 20 
value of a is : 10  

PL/SQL procedure successfully completed.
Shell

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

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

Salary updated  

PL/SQL procedure successfully completed.