- PL/SQL 教程
- PL/SQL - 首頁
- PL/SQL - 概述
- PL/SQL - 環境
- PL/SQL - 基本語法
- PL/SQL - 資料型別
- PL/SQL - 變數
- PL/SQL - 常量和字面量
- PL/SQL - 運算子
- PL/SQL - 條件
- PL/SQL - 迴圈
- PL/SQL - 字串
- PL/SQL - 陣列
- PL/SQL - 過程
- PL/SQL - 函式
- PL/SQL - 遊標
- PL/SQL - 記錄
- PL/SQL - 異常
- PL/SQL - 觸發器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事務
- PL/SQL - 日期和時間
- PL/SQL - DBMS 輸出
- PL/SQL - 面向物件
- PL/SQL 有用資源
- PL/SQL - 問答
- PL/SQL - 快速指南
- PL/SQL - 有用資源
- PL/SQL - 討論
PL/SQL - IF-THEN 語句
它是IF控制語句的最簡單形式,經常用於決策和改變程式執行的控制流程。
IF語句將一個條件與由關鍵字THEN和END IF括起來的語句序列關聯起來。如果條件為TRUE,則執行這些語句;如果條件為FALSE或NULL,則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之後)。
流程圖
示例 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
廣告