
- 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 - 基本語法
本章將討論 PL/SQL 的基本語法,它是一種塊結構語言;這意味著 PL/SQL 程式被劃分並編寫在邏輯程式碼塊中。每個塊包含三個子部分:
序號 | 部分及描述 |
---|---|
1 |
宣告部分 此部分以關鍵字DECLARE開頭。這是一個可選部分,用於定義程式中將使用的所有變數、遊標、子程式和其他元素。 |
2 |
可執行命令 此部分包含在關鍵字BEGIN和END之間,它是必須的部分。它包含程式的可執行 PL/SQL 語句。它至少應該有一行可執行程式碼,這可能只是一個NULL 命令,表示不執行任何操作。 |
3 | 異常處理 此部分以關鍵字EXCEPTION開頭。此可選部分包含用於處理程式中錯誤的異常。 |
每個 PL/SQL 語句以分號 (;) 結尾。PL/SQL 塊可以使用BEGIN和END巢狀在其他 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 個字元。
預設情況下,識別符號不區分大小寫。因此,您可以使用integer或INTEGER來表示數值。您不能使用保留關鍵字作為識別符號。
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 塊
- 函式
- 包
- 包體
- 過程
- 觸發器
- 型別
- 型別體
這些單元中的每一個都將在接下來的章節中討論。