pl / sql是結構化查詢語言(sql)的擴展;與sql不同,它允許程序員以過程格式編寫代碼。它結合了sql的數據處理能力和過程語言的處理能力,可以創建超級強大的sql查詢。下面本篇文章就來帶來認識一下pl / sql,希望對大家有所幫助。
PL / SQL的簡單介紹
PL / SQL是一種高度結構化和可讀的語言。它的構造清楚地表達了代碼的意圖。此外,PL / SQL是一種直接學習的語言。
PL / SQL是Oracle數據庫開發的標準和可移植語言。如果是在Oracle數據庫上執行程序,則可以快速將其移動到另一個兼容的Oracle數據庫而無需進行任何更改。
PL / SQL是一種嵌入式語言。PL / SQL只能在Oracle數據庫中執行,無法在沒有Oracle數據庫的系統上運行的PL / SQL程序。
PL / SQL是一種高性能,高度集成的數據庫語言。除PL / SQL外,還可以使用其他編程語言,如Java,C#和C ++。但是,在與Oracle數據庫交互時,在PL / SQL中編寫高效代碼比在其他編程語言中更容易。
PL / SQL的體系結構
PL / SQL體系結構主要包括三個組件,下面我們就來簡單了解一下:
PL / SQL塊結構
1、塊是PL / SQL中編程的基本單元,它封裝了一組可執行語句以完成程序員的業務需求。
2、它包括用于邏輯劃分代碼的不同部分(用于聲明目的的聲明部分,用于處理語句的執行部分,用于處理錯誤的異常處理部分)。
3、它還包含用于與數據庫服務器交互的SQL指令。
4、所有PL / SQL單元都被視為PL / SQL塊,這是作為主要輸入的體系結構的起始階段。
PL / SQL引擎
1、PL / SQL引擎是進行代碼實際處理的組件。
2、它負責將PL / SQL代碼編譯為字節碼并執行可執行代碼;
3、它可以安裝在數據庫服務器和應用程序服務器中。
4、PL / SQL引擎在輸入中分離PL / SQL單元和SQL部分;分離的PL / SQL單元將由PL / SQL引擎本身處理。
5、它會將SQL部分發送到數據庫服務器,在那里進行與數據庫的實際交互。
注:PL / SQL引擎只能安裝在Oracle數據庫服務器或Oracle Forms等應用程序開發工具中。
數據庫服務器
1、數據庫服務器是存儲數據的Pl / SQL單元中最重要的組件;
2、它由SQL執行器組成,它解析輸入的SQL語句并執行相同的操作。
3、PL / SQL引擎使用PL / SQL單元中的SQL與數據庫服務器進行交互。
下面是PL / SQL體系結構的圖形表示。
PL / SQL的的特點
1、通過批量執行SQL語句而非單獨地提供高性能,從而避免了調用開銷。
2、將復雜的業務邏輯創建到單個程序單元中,從而促進封裝和生產力。
3、非常緊密地集成SQ??L,從而減少維護和復雜性。
4、完全可移植性 – 在一個操作系統中編寫的PL / SQL代碼可以成功遷移到另一個運行Oracle的操作系統。
5、通過Oracle內置軟件包提供的加密和解密邏輯支持高安全性。
6、與其他編程語言的交互。
7、用PL / SQL編寫的應用程序可在任何支持Oracle的平臺上移植。
8、通過使用批量收集和FORALL等高級PL / SQL概念,可以避免上下文切換開銷。
9、執行面向對象的編程概念,如重載。