首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle PL/SQL 控制結構完整語法指南:IF、CASE、WHILE、FOR

     編輯:Oracle 資料庫基礎

IF-THEN-ELSIF-ELSE

SET SERVEROUTPUT ON;
DECLARE
  V_CNT NUMBER;
BEGIN
  SELECT COUNT(*) INTO V_CNT FROM EMP;
  IF V_CNT > 0 THEN
    DBMS_OUTPUT.PUT_LINE('BIG THAN 0');
  ELSIF V_CNT > 5 THEN  -- 注意:ELSIF 非 ELSEIF
    DBMS_OUTPUT.PUT_LINE('BIG THAN 5');
  ELSE
    DBMS_OUTPUT.PUT_LINE('ELSE');
  END IF;
END;

CASE WHEN 兩種寫法

簡單 CASE (比較單一運算式)

CASE V_CNT
  WHEN 1 THEN DBMS_OUTPUT.PUT_LINE('1');
  WHEN 2 THEN DBMS_OUTPUT.PUT_LINE('2');
  ELSE DBMS_OUTPUT.PUT_LINE('ELSE');
END CASE;

搜尋 CASE (評估布林條件)

CASE
  WHEN V_CNT = 1 THEN DBMS_OUTPUT.PUT_LINE('1');
  WHEN V_CNT = 2 THEN DBMS_OUTPUT.PUT_LINE('2');
  ELSE DBMS_OUTPUT.PUT_LINE('ELSE');
END CASE;

WHILE 迴圈

DECLARE
  V_ID NUMBER := 0;
BEGIN
  WHILE V_ID < 5 LOOP
    V_ID := V_ID + 1;
    DBMS_OUTPUT.PUT_LINE(V_ID);
  END LOOP;
END;

FOR 迴圈

DECLARE
  V_ID NUMBER := 0;
BEGIN
  FOR V_ID IN 1..5 LOOP
    DBMS_OUTPUT.PUT_LINE(V_ID);
  END LOOP;
END;

以上涵蓋 PL/SQL 主要流程控制語法,掌握即可應對大多數程式邏輯需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved