PL/SQL - 基本語法



本章將討論 PL/SQL 的基本語法,它是一種塊結構語言;這意味著 PL/SQL 程式被劃分並編寫在邏輯程式碼塊中。每個塊包含三個子部分:

序號 部分及描述
1

宣告部分

此部分以關鍵字DECLARE開頭。這是一個可選部分,用於定義程式中將使用的所有變數、遊標、子程式和其他元素。

2

可執行命令

此部分包含在關鍵字BEGINEND之間,它是必須的部分。它包含程式的可執行 PL/SQL 語句。它至少應該有一行可執行程式碼,這可能只是一個NULL 命令,表示不執行任何操作。

3

異常處理

此部分以關鍵字EXCEPTION開頭。此可選部分包含用於處理程式中錯誤的異常

每個 PL/SQL 語句以分號 (;) 結尾。PL/SQL 塊可以使用BEGINEND巢狀在其他 PL/SQL 塊中。以下是 PL/SQL 塊的基本結構:

DECLARE 
   <declarations section> 
BEGIN 
   <executable command(s)>
EXCEPTION 
   <exception handling> 
END;

“Hello World”示例

DECLARE 
   message  varchar2(20):= 'Hello, World!'; 
BEGIN 
   dbms_output.put_line(message); 
END; 
/ 

end;行表示 PL/SQL 塊的結束。要從 SQL 命令列執行程式碼,您可能需要在程式碼最後一行後的第一行空白行開頭鍵入 / 。當以上程式碼在 SQL 提示符下執行時,會產生以下結果:

Hello World  

PL/SQL procedure successfully completed.

PL/SQL 識別符號

PL/SQL 識別符號是常量、變數、異常、過程、遊標和保留字。識別符號由一個字母組成,後面可以選擇跟多個字母、數字、美元符號、下劃線和井號,並且不應超過 30 個字元。

預設情況下,識別符號不區分大小寫。因此,您可以使用integerINTEGER來表示數值。您不能使用保留關鍵字作為識別符號。

PL/SQL 分隔符

分隔符是一個具有特殊含義的符號。以下是 PL/SQL 中的分隔符列表:

分隔符 描述
+, -, *, / 加法、減法/否定、乘法、除法
% 屬性指示符
' 字元字串分隔符
. 元件選擇器
(,) 表示式或列表分隔符
: 主機變數指示符
, 專案分隔符
" 帶引號的識別符號分隔符
= 關係運算符
@ 遠端訪問指示符
; 語句終止符
:= 賦值運算子
=> 關聯運算子
|| 連線運算子
** 指數運算子
<<, >> 標籤分隔符(begin 和 end)
/*, */ 多行註釋分隔符(begin 和 end)
-- 單行註釋指示符
.. 範圍運算子
<, >, <=, >= 關係運算符
<>, '=, ~=, ^= 不相等的不同版本

PL/SQL 註釋

程式註釋是可以包含在您編寫的 PL/SQL 程式碼中的解釋性語句,它可以幫助任何閱讀其原始碼的人。所有程式語言都允許某種形式的註釋。

PL/SQL 支援單行和多行註釋。PL/SQL 編譯器會忽略任何註釋中可用的所有字元。PL/SQL 單行註釋以分隔符 --(雙連字元)開頭,多行註釋用 /* 和 */ 括起來。

DECLARE 
   -- variable declaration 
   message  varchar2(20):= 'Hello, World!'; 
BEGIN 
   /* 
   *  PL/SQL executable statement(s) 
   */ 
   dbms_output.put_line(message); 
END; 
/

當以上程式碼在 SQL 提示符下執行時,會產生以下結果:

Hello World

PL/SQL procedure successfully completed.

PL/SQL 程式單元

PL/SQL 單元可以是以下任何一種:

  • PL/SQL 塊
  • 函式
  • 包體
  • 過程
  • 觸發器
  • 型別
  • 型別體

這些單元中的每一個都將在接下來的章節中討論。

廣告