關於PL/SQL的內容,主要包括匿名塊、存儲過程和存儲函數三種形式的PL/SQL塊,以及在PL/SQL 中如何使用變量、類型、流控制語句、游標、觸發器、異常等內容,以及如何利用PL/SQL塊訪問數據庫中的數據。
PL/SQL概述
如果說SQL是一種標准的數據庫訪問語言,那麼PL/SQL則是Oracle公司開發的一種編程語言,它是對SQL的擴充。
在PL/SQL程序中,可以定義變量、數據類型、函數以及過程,可以使用流控制語句,可以包含SQL語句,還可以進行錯誤處理。
利用PL/SQL程序,可以對數據庫進行復雜的訪問。
與SQL 相比, PL/SQL 有很多優點,例如, PL/SQL體現了模塊化的程序設計思想,在PL/SQL程序中可以定義函數和過程,用來完成不同的功能。
PL/SQL程序還可以在不同平台、不同計算機之間方便地移植。
另外,利用PL/SQL程序可以大大提高訪問數據庫的效率,因為PL/SQL程序可以在SQL*Plus 中執行,也可以在客戶端的應用程序中調用執行,只要知道
PL/SQL程序的名字,就可以調用它。
PL/SQL程序與傳統SQL執行方式的比較
傳統的SQL命令是單獨執行的,客戶端每執行一條SQL語句,都要向數據庫服務器發出一次請求,並從服務器返回一次結果。
而PL/SQL程序是作為一個整體執行的,客戶端只需發出一次請求,服務器執行後只返回一個結果。
PL/SQL是一種結構化編程語言,程序的基本單元是塊,主要的塊形式有函數、過程和匿名塊。
一個PL/SQL塊由以下三部分組成:
DECLARE
聲明部分
BEGIN
可執行部分
EXCEPTION
異常處理部分
END
其中變量聲明部分用來定義變量、類型、游標、子程序、觸發器、異常等。
被聲明的元素在本塊范圍內有效。
這一部分在PL/SQL塊中是可選的。
可執行部分是PL/SQL塊的主體,它包含了PL/SQL塊的可執行代碼,是必不可少的部分。
PL/SQL塊的功能主要體現在這一部分。
異常處理部分用來處理PL/SQL塊在執行過程中發生的錯誤。
如果塊執行正常,則塊正常結束,否則從出現錯誤的語句開始,轉至異常處理部分開始執行,即進行異常處理。
這部分在PL/SQL塊中也是可選的。
最簡單的PL/SQL塊僅包含由BEGIN和END限定的可執行部分。
例如:
BEGIN
DBMS_OUTPUT.PUT_LINE (’ Hello,World ’);
END;