在本章中,我們將學習PL/SQL的基本語法,PL/SQL是塊結構語言; PL/SQL程序劃分成幾個部分,并在每個部分中寫入邏輯代碼塊。每個塊由三個子部分組成 -
-
聲明部分 - 此部分是以關鍵字
DECLARE
開頭。這是一個可選部分,并定義了程序中要使用的所有變量,游標,子程序和其他元素。 -
可執行命令部分 - 此部分包含在關鍵字
BEGIN
和END
之間,這是一個強制性部分。它由程序的可執行PL/SQL語句組成。它應該有至少一個可執行代碼行,它可以只是一個NULL
命令,表示不執行任何操作。 -
異常處理部分 - 此部分以關鍵字
EXCEPTION
開頭。這是一個可選部分,它包含處理程序中錯誤的異常。
每個PL/SQL語句以分號(;
)結尾。 使用BEGIN
和END
可以將PL/SQL塊嵌套在其他PL/SQL塊中。 以下是PL/SQL塊的基本結構 -
1
2
3
4
5
6
7
|
DECLARE <declarations section > BEGIN <executable command(s)> EXCEPTION <exception handling> END ; |
Hello World示例
1
2
3
4
5
6
|
DECLARE message varchar2(20):= 'Hello, World!' ; BEGIN dbms_output.put_line(message); END ; / |
END;
行表示PL/SQL塊的結尾。要從SQL命令行運行代碼,需要在代碼的最后一行之后鍵入/字符。當上述代碼在SQL提示符下執行時,它會產生以下結果 -
1
2
|
Hello World PL/SQL procedure successfully completed. |
PL/SQL標識符
PL/SQL標識符是常量,變量,異常,過程,游標和保留字。標識符包括一個字母,可選地后跟多個字母,數字,美元符號,下劃線和數字符號,不得超過30
個字符。
默認情況下,標識符不區分大小寫。例如,可以使用integer
或INTEGER
來表示一個數值。 不能使用保留關鍵字作為標識符。
PL/SQL分隔符
分隔符是具有特殊含義的符號。以下是PL/SQL中的分隔符列表 -
分隔符 | 描述 |
---|---|
+ ,- , * , / |
加法,減法/負,乘法,除法 |
% |
屬性綁定 |
' |
字符串分隔符 |
. |
組件選擇符 |
(,) |
表達式或列表分隔符 |
: |
主機變量指示符 |
, |
項目分隔符 |
" |
引用標識符分隔符 |
= |
關系運算符 |
@ |
遠程訪問指示符 |
; |
聲明或語句終止符 |
:= |
賦值運算符 |
=> |
關聯運算符 |
ΙΙ | 連接運算符 |
** |
指數運算符 |
<< , >> |
標簽分隔符(開始和結束) |
/* , */ |
多行注釋分隔符(開始和結束) |
-- |
單行注釋指示符 |
.. |
范圍運算符 |
< , > , <= , >= |
關系運算符 |
<> , '= , ~= , ^= |
不同版本的”不等于”運算符 |
PL/SQL注釋
程序注釋可以在編寫的PL/SQL代碼中包含的說明性文字,并幫助其他人閱讀源代碼。所有編程語言都允許某種形式的注釋。
PL/SQL支持單行和多行注釋。注釋中的所有字符都被PL/SQL編譯器忽略。 PL/SQL單行注釋以分隔符開頭 --
(雙連字符),多行注釋由/*
和*/
括起來。
1
2
3
4
5
6
7
8
9
10
|
DECLARE -- variable declaration message varchar2(20):= 'Hello, World!' ; BEGIN /* * PL/SQL executable statement(s) */ dbms_output.put_line(message); END ; / |
當上述代碼在SQL *Plus提示符下執行時,它會產生以下結果 -
1
2
|
Hello World PL/SQL procedure successfully completed. |
PL/SQL程序單元
PL/SQL單元是以下任何一個 -
- PL/SQL塊
- 函數
- 包
- 包體
- 過程
- 觸發器
- 類型
- 類型體
原文鏈接:https://www.yiibai.com/plsql/plsql_basic_syntax.html