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.