天天看點

PL/SQL基礎文法

前言

享受自由。

PL /SQL是一種進階資料庫程式設計語言,該語言專門用于在各種環境下對ORACLE資料庫進行通路。由于該語言內建于資料庫伺服器中,是以PL/SQL代碼可以對資料進行快速高效的處理。除此之外,可以在ORACLE資料庫的某些用戶端工具中,使用PL/SQL語言也是該語言的一個特點。

PL/SQL塊結構群組成元素

PL/SQL塊

PL/SQL程式由三個塊組成,即聲明部分、執行部分、異常處理部分。

PL/SQL塊的結構如下:

/* 聲明部分: 在此聲明PL/SQL用到的變量,類型及遊标,以及局部的存儲過程和函數 * /

BEGIN

/* 執行部分: 過程及SQL 語句 , 即程式的主要部分 * /

EXCEPTION

/* 執行異常部分: 錯誤處理 */

END;

其中 執行部分是必須的。

記錄類型文法

定義如下:

TYPE record_type IS RECORD(

Field1 type1 [NOT NULL] [:= exp1 ],

Field2 type2 [NOT NULL] [:= exp2 ],

. . . . . .

Fieldn typen [NOT NULL] [:= expn ] ) ;

例:

PL/SQL基礎文法
螢幕快照 2018-01-14 00.35.23.png

或:

PL/SQL基礎文法
螢幕快照 2018-01-14 00.36.49.png

提示

  1. DBMS_OUTPUT.PUT_LINE 過程的功能類似于 Java 中的 System.out.println() 直接将輸出結果送到标準輸出中.
  2. 在使用上述過程之前必須将 SQL * PLUS 的環境參數 SERVEROUTPUT 設定為 ON, 否則将看不到輸出結果: set serveroutput on

使用%TYPE文法

定義一個變量,其資料類型與已經定義的某個資料變量的類型相同,或者與資料庫表的某個列的資料類型相同,這時可以使用%TYPE。

使用%TYPE特性的優點在于:

  • 所引用的資料庫列的資料類型可以不必知道;
  • 所引用的資料庫列的資料類型可以實時改變;
PL/SQL基礎文法
螢幕快照 2018-01-14 00.39.28.png

使用%ROWTYPE文法

PL/SQL 提供%ROWTYPE操作符, 傳回一個記錄類型, 其資料類型和資料庫表的資料結構相一緻。

使用%ROWTYPE特性的優點在于:

  • 所引用的資料庫中列的個數和資料類型可以不必知道;
  • 引用的資料庫中列的個數和資料類型可以實時改變。
PL/SQL基礎文法
螢幕快照 2018-01-14 00.41.23.png

流程控制文法

介紹PL/SQL的流程控制語句, 包括如下三類:

  1. 控制語句: IF 語句
  2. 循環語句: LOOP語句, EXIT語句
  3. 順序語句: GOTO語句, NULL語句

條件語句

IF表達式

IF <布爾表達式> THEN

PL/SQL 和 SQL語句

END IF;

ELSE

其它語句

ELSIF < 其它布爾表達式> THEN

case表達式

CASE selector

WHEN expression1 THEN result1

WHEN expression2 THEN result2

。。。。

WHEN expressionN THEN resultN

[ ELSE resultN+1]

循環語句

簡單循環

LOOP

要執行的語句;

EXIT WHEN <條件語句> /* 條件滿足,退出循環語句*/

END LOOP;

while循環

WHILE <布爾表達式> LOOP

for循環

FOR 循環計數器 IN [ REVERSE ] 下限 .. 上限 LOOP

标号和GOTO

PL/SQL中GOTO語句是無條件跳轉到指定的标号去的意思。文法如下:

GOTO label;

. . . . . .

<<label>> /*标号是用<< >>括起來的辨別符 */

一般不用,容易打亂程式的結構。

上一篇: Linux實作NFS
下一篇: Fragment詳解