Oracle PL/SQL – IF-THEN 语句
简述
它是最简单的形式 IF 控制语句,经常用于决策和改变程序执行的控制流程。
这 IF statement 将条件与关键字包围的语句序列相关联 THEN 和 END 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 之后)将被执行。
流程图

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