PL/SQL - 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;

如果布林表示式condition計算結果為true,則將執行if語句內部的程式碼塊。如果布林表示式計算結果為false,則將執行if語句結束後的第一組程式碼(在結束if之後)。

流程圖

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

當在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. 
plsql_conditional_control.htm
廣告

© . All rights reserved.