鍍金池/ 教程/ 數據庫/ PL/SQL IF-THEN語句
PL/SQL記錄
PL/SQL基本語法
PL/SQL集合
PL/SQL包
PL/SQL關系運算符
PL/SQL比較運算符
PL/SQL條件控制
PL/SQL字符串
PL/SQL算術運算符
PL/SQL變量
PL/SQL IF-THEN-ELSIF語句
PL/SQL函數
PL/SQL異常
PL/SQL FOR循環(huán)語句
PL/SQL日期及時間
PL/SQL EXIT語句
PL/SQL DBMS輸出
PL/SQL過程
PL/SQL CONTINUE語句
PL/SQL數組
PL/SQL嵌套IF-THEN-ELSE語句
PL/SQL事務
PL/SQL CASE語句
PL/SQL IF-THEN語句
PL/SQL GOTO語句
PL/SQL運算符優(yōu)先級
PL/SQL觸發(fā)器
PL/SQL運算符
PL/SQL教程
PL/SQL WHILE循環(huán)語句
PL/SQL面向對象
PL/SQL循環(huán)
PL/SQL邏輯運算符
PL/SQL IF-THEN-ELSE語句
PL/SQL數據類型
PL/SQL環(huán)境安裝設置
PL/SQL游標
PL/SQL基本循環(huán)語句
PL/SQL搜索CASE語句
PL/SQL常量和文字
PL/SQL嵌套循環(huán)

PL/SQL IF-THEN語句

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

IF語句關聯(lián)的條件通過THEN和END IF關鍵字封閉的語句序列。如果條件為TRUE,語句得到執(zhí)行,并且如果條件為FALSE或NULL,那么IF語句什么都不做。

語法:

IF-THEN語句的語法是:

IF condition THEN 
   S;
END IF;

其中,條件是布爾或關系條件,S是一個簡單的或復合語句。一個IF-THEN語句的例子如下:

IF (a <= 20) THEN
   c:= c+1;
END IF;

如果布爾表達式條件計算為真,那么代碼的if語句里面的模塊將被執(zhí)行。如果if語句結束后布爾表達式的值為false那么第一組碼(閉幕結束后,若)將被執(zhí)行。

流程圖:

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:

考慮我們在創(chuàng)建表以及表中的一些記錄,因為我們在創(chuàng)建 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提示符執(zhí)行時,它產生了以下結果:

Salary updated

PL/SQL procedure successfully completed.