PL/SQL IF-THEN语句
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.