1.1、PL/SQL 程序設計簡介

本篇主要內容如下:

第一章   PL/SQL 程序設計簡介

1.1   SQL與PL/SQL

1.1.1  什麼是PL/SQL?

1.2  PL/SQL的優點或特徵

1.2.1  有利於客戶/服務器環境應用的運行

1.2.2  適合於客戶環境

1.2.3  過程化

1.2.4  模塊化

1.2.5  運行錯誤的可處理性

1.2.6  提供大量內置程序包

1.3  PL/SQL 可用的SQL語句

1.4  運行PL/SQL程序

 

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語句發送給數據庫服務器來執行。再將結果返回給執行端。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章