PL/SQL if-then语句

Posted youseiraws

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL if-then语句相关的知识,希望对你有一定的参考价值。

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;

如果布尔表达式条件求值为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提示符下执行时,它会产生以下结果 -

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 if-then语句的主要内容,如果未能解决你的问题,请参考以下文章

PL\SQL 语句忽略错误

PL/SQL控制语句(循环控制语句)

利用pl/sql执行计划评估SQL语句的性能简析

PL/SQL:忽略 SQL 语句?

PL/SQL 中的 DDL 语句?

PL/SQL的基本语法