PL/SQL if-then语句
if-then
语句是IF
控制语句中最简单的形式,经常用于决策和更改程序执行的控制流程。
IF
语句将条件与关键字THEN
和END IF
所包含的语句序列相关联。如果条件为TRUE
,则语句将被执行,如果条件为FALSE
或NULL
,则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.