ORACLE PL/SQL程式設計詳解之一: PL/SQL 程式設計簡介(千里之行,始於足下)

shilei1發表於2013-10-05
SQL語言只是訪問、運算元據庫的語言,並不是一種具有流程控制的程式設計語言,而只有程式設計語言才能用於應用軟體的開發。PL /SQL是一種高階資料庫程式設計語言,該語言專門用於在各種環境下對ORACLE資料庫進行訪問。由於該語言整合於資料庫伺服器中,所以PL/SQL程式碼可以對資料進行快速高效的處理。除此之外,可以在ORACLE資料庫的某些客戶端工具中,使用PL/SQL語言也是該語言的一個特點。本章的主要內容是討論引入PL/SQL語言的必要性和該語言的主要特點,以及瞭解PL/SQL語言的重要性和資料庫版本問題。還要介紹一些貫穿全書的更詳細的高階概念,並在本章的最後就我們在本書案例中使用的資料庫表的若干約定做一說明。


1.1   SQL與PL/SQL
1.1.1  什麼是PL/SQL?
PL/SQL是 Procedure Language & Structured Query Language 的縮寫。ORACLE的SQL是支援ANSI(American national Standards Institute)和ISO92 (International Standards Organization)標準的產品。PL/SQL是對SQL語言儲存過程語言的擴充套件。從ORACLE6以後,ORACLE的RDBMS附帶了PL/SQL。它現在已經成為一種過程處理語言,簡稱PL/SQL。目前的PL/SQL包括兩部分,一部分是資料庫引擎部分;另一部分是可嵌入到許多產品(如C語言,JAVA語言等)工具中的獨立引擎。可以將這兩部分稱為:資料庫PL/SQL和工具PL/SQL。兩者的程式設計非常相似。都具有程式設計結構、語法和邏輯機制。工具PL/SQL另外還增加了用於支援工具(如ORACLE Forms)的句法,如:在窗體上設定按鈕等。本章主要介紹資料庫PL/SQL內容。


1.2  PL/SQL的優點或特徵
1.2.1  有利於客戶/伺服器環境應用的執行
對於客戶/伺服器環境來說,真正的瓶頸是網路上。無論網路多快,只要客戶端與伺服器進行大量的資料交換。應用執行的效率自然就回受到影響。如果使用PL/SQL進行程式設計,將這種具有大量資料處理的應用放在伺服器端來執行。自然就省去了資料在網上的傳輸時間。


1.2.2  適合於客戶環境
PL/SQL由於分為資料庫PL/SQL部分和工具PL/SQL。對於客戶端來說,PL/SQL可以巢狀到相應的工具中,客戶端程式可以執行本地包含PL/SQL部分,也可以向服務發SQL命令或啟用伺服器端的PL/SQL程式執行。


1.2.3  過程化
PL/SQL是Oracle在標準SQL上的過程性擴充套件,不僅允許在PL/SQL程式內嵌入SQL語句,而且允許使用各種型別的條件分支語句和迴圈語句,可以多個應用程式之間共享其解決方案。


1.2.4  模組化
PL/SQL程式結構是一種描述性很強、界限分明的塊結構、巢狀塊結構,被分成單獨的過程、函式、觸發器,且可以把它們組合為程式包,提高程式的模組化能力。


1.2.5  執行錯誤的可處理性
使用PL/SQL提供的異常處理(EXCEPTION),開發人員可集中處理各種ORACLE錯誤和PL/SQL錯誤,或處理系統錯誤與自定義錯誤,以增強應用程式的健壯性。


1.2.6  提供大量內建程式包
ORACLE提供了大量的內建程式包。透過這些程式包能夠實現DBS的一些低層操作、高階功能,不論對DBA還是應用開發人員都具有重要作用。


當然還有其它的一些優點如:更好的效能、可移植性和相容性、可維護性、易用性與快速性等。

1.3  PL/SQL 可用的SQL語句
    PL/SQL是ORACLE系統的核心語言,現在ORACLE的許多部件都是由PL/SQL寫成。在PL/SQL中可以使用的SQL語句有:

INSERT,UPDATE,DELETE,SELECT INTO,COMMIT,ROLLBACK,SAVEPOINT。


提示:在 PL/SQL中只能用 SQL語句中的 DML 部分,不能用 DDL 部分,如果要在PL/SQL中使用DDL(如CREATE  table  等)的話,只能以動態的方式來使用。


l ORACLE 的 PL/SQL 元件在對 PL/SQL 程式進行解釋時,同時對在其所使用的表名、列名及資料型別進行檢查。

l PL/SQL 可以在SQL*PLUS 中使用。

l PL/SQL 可以在高階語言中使用。

l PL/SQL可以在ORACLE的開發工具中使用(如:SQL Developer或Procedure Builder等)。

l 其它開發工具也可以呼叫PL/SQL編寫的過程和函式,如Power Builder 等都可以呼叫伺服器端的PL/SQL過程。

1.4  執行PL/SQL程式
    PL/SQL程式的執行是透過ORACLE中的一個引擎來進行的。這個引擎可能在ORACLE的伺服器端,也可能在 ORACLE 應用開發的客戶端。引擎執行PL/SQL中的過程性語句,然後將SQL語句傳送給資料庫伺服器來執行。再將結果返回給執行端。






© 2011  EricHu

原創作品,轉貼請註明作者和出處,留此資訊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-773775/,如需轉載,請註明出處,否則將追究法律責任。

相關文章