鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ PL/SQL基本語(yǔ)法
PL/SQL記錄
PL/SQL基本語(yǔ)法
PL/SQL集合
PL/SQL包
PL/SQL關(guān)系運(yùn)算符
PL/SQL比較運(yùn)算符
PL/SQL條件控制
PL/SQL字符串
PL/SQL算術(shù)運(yùn)算符
PL/SQL變量
PL/SQL IF-THEN-ELSIF語(yǔ)句
PL/SQL函數(shù)
PL/SQL異常
PL/SQL FOR循環(huán)語(yǔ)句
PL/SQL日期及時(shí)間
PL/SQL EXIT語(yǔ)句
PL/SQL DBMS輸出
PL/SQL過(guò)程
PL/SQL CONTINUE語(yǔ)句
PL/SQL數(shù)組
PL/SQL嵌套IF-THEN-ELSE語(yǔ)句
PL/SQL事務(wù)
PL/SQL CASE語(yǔ)句
PL/SQL IF-THEN語(yǔ)句
PL/SQL GOTO語(yǔ)句
PL/SQL運(yùn)算符優(yōu)先級(jí)
PL/SQL觸發(fā)器
PL/SQL運(yùn)算符
PL/SQL教程
PL/SQL WHILE循環(huán)語(yǔ)句
PL/SQL面向?qū)ο?/span>
PL/SQL循環(huán)
PL/SQL邏輯運(yùn)算符
PL/SQL IF-THEN-ELSE語(yǔ)句
PL/SQL數(shù)據(jù)類型
PL/SQL環(huán)境安裝設(shè)置
PL/SQL游標(biāo)
PL/SQL基本循環(huán)語(yǔ)句
PL/SQL搜索CASE語(yǔ)句
PL/SQL常量和文字
PL/SQL嵌套循環(huán)

PL/SQL基本語(yǔ)法

PL/SQL是一種塊結(jié)構(gòu)的語(yǔ)言,這意味著PL/SQL程序被劃分和編寫代碼的邏輯塊。每塊由三個(gè)子部分組成:

S.N. 段和說(shuō)明
1 聲明 
此部分開頭使用關(guān)鍵字DECLARE。它是一個(gè)可選的部分,并限定在該程序中使用的所有變量,游標(biāo),子程序,和其他元素。
2 可執(zhí)行命令
此部分是封閉關(guān)鍵字BEGIN和END,這是一個(gè)強(qiáng)制性的部分。它由程序的可執(zhí)行文件的PL/SQL語(yǔ)句。它應(yīng)具有至少一個(gè)可執(zhí)行的代碼行,這可能僅僅是一個(gè)空命令,以指示什么都不執(zhí)行。
3 異常處理
此部分開頭使用關(guān)鍵字EXCEPTION。此部分又是可選的,含有異常,在程序處理錯(cuò)誤中。

每一個(gè)PL/SQL語(yǔ)句都以分號(hào)(;)結(jié)束??汕短自谑褂肂EGIN和END等PL/SQL塊PL/SQL塊。這里是一個(gè)PL/SQL塊的基本結(jié)構(gòu):

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; 行信號(hào)是PL/SQL塊的末端。要運(yùn)行SQL命令行代碼,則可能需要代碼的最后一行前,輸入在第一個(gè)空行的開頭。當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

Hello World

PL/SQL procedure successfully completed.

PL/SQL標(biāo)識(shí)符

PL/SQL標(biāo)識(shí)符是常量,變量,異常,過(guò)程,游標(biāo)和保留字。標(biāo)識(shí)符是由一個(gè)字母后面可以跟更多的字母,數(shù)字,美元符號(hào),下劃線和數(shù)字符號(hào),并且不得超過(guò)30個(gè)字符。

默認(rèn)情況下,標(biāo)識(shí)符不區(qū)分大小寫。所以,可以使用 integer 或 INTEGER 表示數(shù)值。不能使用保留關(guān)鍵字作為標(biāo)識(shí)符。 

PL/SQL分隔符

分隔符是一個(gè)具有特殊意義的符號(hào)。以下是在PL/SQL分隔符的列表:

分隔符 描述
+, -, *, / 加法,減法/否定,乘法,除法
% 屬性索引
' 字符串分隔符
. 組件選擇
(,) 表達(dá)式或列表分隔符
: 主機(jī)變量指示符
, 項(xiàng)目分離符
" 帶引號(hào)的標(biāo)識(shí)符分隔符
= 關(guān)系運(yùn)算符
@ 遠(yuǎn)程訪問(wèn)指示符
; 聲明終止符
:= 賦值運(yùn)算符
=> 操作符關(guān)聯(lián)
|| 連接運(yùn)算符
** 乘方運(yùn)算符
<<, >> 標(biāo)簽分隔符(開始和結(jié)束)
/*, */ 多行注釋分隔符(開始和結(jié)束)
-- 單行注釋指示符
.. 范圍操作
<, >, <=, >= 關(guān)系運(yùn)算符
<>, '=, ~=, ^= 不同版本的不相等的

PL/SQL注釋

程序注釋是解釋性說(shuō)明,可以包括自己編寫的,并幫助任何人閱讀源代碼的PL/SQL代碼。所有的編程語(yǔ)言允許某種形式的注釋。

在PL/SQL支持單行和多行注釋。任何注釋里面所有字符都會(huì)被PL/SQL編譯器忽略。在PL/SQL單行注釋使用分隔符 - (雙連字符)和多行注釋被 /* 和 */ 括起來(lái)。

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

當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

Hello World

PL/SQL procedure successfully completed.

PL/SQL程序單元

PL/SQL單元是下列任何一個(gè):

  • PL/SQL 塊

  • 函數(shù)

  • 包體

  • 過(guò)程

  • 觸發(fā)器

  • 類型

  • 類型體

這些單元都將在即將到來(lái)的章節(jié)中學(xué)習(xí)討論。