PL/SQL IF-THEN語句

2019-10-16 22:54:08

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.