位置:首頁 > 數據庫 > PL/SQL教學 > PL/SQL IF-THEN語句

PL/SQL IF-THEN語句

它是最簡單的IF控製語句,經常使用的決策和改變程序執行的控製流程的形式。

IF語句關聯的條件通過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語句裡麵的模塊將被執行。如果if語句結束後布爾表達式的值為false那麼第一組碼(閉幕結束後,若)將被執行。

流程圖:

PL/SQL if-then statement

示例 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;
/

讓我們嘗試一個完整的例子,將說明這一概念:

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.