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條件控制 下一篇: PL/SQL迴圈