PL/SQL 基本語(yǔ)法

2021-08-30 14:39 更新
在本章中,我們將學(xué)習(xí)PL/SQL的基本語(yǔ)法,PL/SQL是塊結(jié)構(gòu)語(yǔ)言; PL/SQL程序劃分成幾個(gè)部分,并在每個(gè)部分中寫入邏輯代碼塊。每個(gè)塊由三個(gè)子部分組成 
  • 聲明部分 - 此部分是以關(guān)鍵字DECLARE開(kāi)頭。這是一個(gè)可選部分,并定義了程序中要使用的所有變量,游標(biāo),子程序和其他元素。
  • 可執(zhí)行命令部分 - 此部分包含在關(guān)鍵字BEGINEND之間,這是一個(gè)強(qiáng)制性部分。它由程序的可執(zhí)行PL/SQL語(yǔ)句組成。它應(yīng)該有至少一個(gè)可執(zhí)行代碼行,它可以只是一個(gè)NULL命令,表示不執(zhí)行任何操作。
  • 異常處理部分 - 此部分以關(guān)鍵字EXCEPTION開(kāi)頭。這是一個(gè)可選部分,它包含處理程序中錯(cuò)誤的異常。

每個(gè)PL/SQL語(yǔ)句以分號(hào)(;)結(jié)尾。 使用BEGINEND可以將PL/SQL塊嵌套在其他PL/SQL塊中。 以下是PL/SQL塊的基本結(jié)構(gòu) -

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

Hello World示例

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

END;行表示PL/SQL塊的結(jié)尾。要從SQL命令行運(yùn)行代碼,需要在代碼的最后一行之后鍵入/字符。當(dāng)上述代碼在SQL提示符下執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -

Hello World  

PL/SQL procedure successfully completed.
Shell

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

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

默認(rèn)情況下,標(biāo)識(shí)符不區(qū)分大小寫。例如,可以使用integerINTEGER來(lái)表示一個(gè)數(shù)值。 不能使用保留關(guān)鍵字作為標(biāo)識(shí)符。

PL/SQL分隔符

分隔符是具有特殊含義的符號(hào)。以下是PL/SQL中的分隔符列表 -

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

PL/SQL注釋

程序注釋可以在編寫的PL/SQL代碼中包含的說(shuō)明性文字,并幫助其他人閱讀源代碼。所有編程語(yǔ)言都允許某種形式的注釋。

PL/SQL支持單行和多行注釋。注釋中的所有字符都被PL/SQL編譯器忽略。 PL/SQL單行注釋以分隔符開(kāi)頭 --(雙連字符),多行注釋由/**/括起來(lái)。

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

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

Hello World

PL/SQL procedure successfully completed.
SQL

PL/SQL程序單元

PL/SQL單元是以下任何一個(gè) -

  • PL/SQL塊
  • 函數(shù)
  • 包體
  • 過(guò)程
  • 觸發(fā)器
  • 類型
  • 類型體

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

 


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)