[推薦]ORACLE PL/SQL編程詳解之一:
PL/SQL 程序設(shè)計簡介(千里之行,始于足下)
——通過知識共享樹立個人品牌。
繼上六篇:
[頂]ORACLE PL/SQL編程詳解之二:PL/SQL塊結(jié)構(gòu)和組成元素(為山九仞,豈一日之功)
[推薦]ORACLE PL/SQL編程詳解之三:PL/SQL流程控制語句(不給規(guī)則,不成方圓)
[推薦]ORACLE PL/SQL編程之四:把游標(biāo)說透(不怕做不到,只怕想不到)
[推薦]ORACLE PL/SQL編程之五:異常錯誤處理(知已知彼、百戰(zhàn)不殆)
ORACLE PL/SQL編程之六:把過程與函數(shù)說透(窮追猛打,把根兒都拔起!)
ORACLE PL/SQL編程之八:把觸發(fā)器說透
接下來再次介紹PL/SQL的基礎(chǔ)篇:PL/SQL 程序設(shè)計簡介,還望大家繼續(xù)支持與推薦~!
本篇主要內(nèi)容如下:
第一章 PL/SQL 程序設(shè)計簡介
1.1 SQL與PL/SQL
1.1.1 什么是PL/SQL?
1.2 PL/SQL的優(yōu)點或特征
1.2.1 有利于客戶/服務(wù)器環(huán)境應(yīng)用的運行
1.2.2 適合于客戶環(huán)境
1.2.3 過程化
1.2.4 模塊化
1.2.5 運行錯誤的可處理性
1.2.6 提供大量內(nèi)置程序包
1.3 PL/SQL 可用的SQL語句
1.4 運行PL/SQL程序
SQL語言只是訪問、操作數(shù)據(jù)庫的語言,并不是一種具有流程控制的程序設(shè)計語言,而只有程序設(shè)計語言才能用于應(yīng)用軟件的開發(fā)。PL /SQL是一種高級數(shù)據(jù)庫程序設(shè)計語言,該語言專門用于在各種環(huán)境下對ORACLE數(shù)據(jù)庫進行訪問。由于該語言集成于數(shù)據(jù)庫服務(wù)器中,所以PL/SQL代碼可以對數(shù)據(jù)進行快速高效的處理。除此之外,可以在ORACLE數(shù)據(jù)庫的某些客戶端工具中,使用PL/SQL語言也是該語言的一個特點。本章的主要內(nèi)容是討論引入PL/SQL語言的必要性和該語言的主要特點,以及了解PL/SQL語言的重要性和數(shù)據(jù)庫版本問題。還要介紹一些貫穿全書的更詳細的高級概念,并在本章的最后就我們在本書案例中使用的數(shù)據(jù)庫表的若干約定做一說明。
1.1.1 什么是PL/SQL?
PL/SQL是 Procedure Language & Structured Query Language 的縮寫。ORACLE的SQL是支持ANSI(American national Standards Institute)和ISO92 (International Standards Organization)標(biāo)準(zhǔn)的產(chǎn)品。PL/SQL是對SQL語言存儲過程語言的擴展。從ORACLE6以后,ORACLE的RDBMS附帶了PL/SQL。它現(xiàn)在已經(jīng)成為一種過程處理語言,簡稱PL/SQL。目前的PL/SQL包括兩部分,一部分是數(shù)據(jù)庫引擎部分;另一部分是可嵌入到許多產(chǎn)品(如C語言,JAVA語言等)工具中的獨立引擎??梢詫⑦@兩部分稱為:數(shù)據(jù)庫PL/SQL和工具PL/SQL。兩者的編程非常相似。都具有編程結(jié)構(gòu)、語法和邏輯機制。工具PL/SQL另外還增加了用于支持工具(如ORACLE Forms)的句法,如:在窗體上設(shè)置按鈕等。本章主要介紹數(shù)據(jù)庫PL/SQL內(nèi)容。
1.2 PL/SQL的優(yōu)點或特征
對于客戶/服務(wù)器環(huán)境來說,真正的瓶頸是網(wǎng)絡(luò)上。無論網(wǎng)絡(luò)多快,只要客戶端與服務(wù)器進行大量的數(shù)據(jù)交換。應(yīng)用運行的效率自然就回受到影響。如果使用PL/SQL進行編程,將這種具有大量數(shù)據(jù)處理的應(yīng)用放在服務(wù)器端來執(zhí)行。自然就省去了數(shù)據(jù)在網(wǎng)上的傳輸時間。
PL/SQL由于分為數(shù)據(jù)庫PL/SQL部分和工具PL/SQL。對于客戶端來說,PL/SQL可以嵌套到相應(yīng)的工具中,客戶端程序可以執(zhí)行本地包含PL/SQL部分,也可以向服務(wù)發(fā)SQL命令或激活服務(wù)器端的PL/SQL程序運行。
PL/SQL是Oracle在標(biāo)準(zhǔn)SQL上的過程性擴展,不僅允許在PL/SQL程序內(nèi)嵌入SQL語句,而且允許使用各種類型的條件分支語句和循環(huán)語句,可以多個應(yīng)用程序之間共享其解決方案。
PL/SQL程序結(jié)構(gòu)是一種描述性很強、界限分明的塊結(jié)構(gòu)、嵌套塊結(jié)構(gòu),被分成單獨的過程、函數(shù)、觸發(fā)器,且可以把它們組合為程序包,提高程序的模塊化能力。
1.2.5 運行錯誤的可處理性
使用PL/SQL提供的異常處理(EXCEPTION),開發(fā)人員可集中處理各種ORACLE錯誤和PL/SQL錯誤,或處理系統(tǒng)錯誤與自定義錯誤,以增強應(yīng)用程序的健壯性。
1.2.6 提供大量內(nèi)置程序包
ORACLE提供了大量的內(nèi)置程序包。通過這些程序包能夠?qū)崿F(xiàn)DBS的一些低層操作、高級功能,不論對DBA還是應(yīng)用開發(fā)人員都具有重要作用。
當(dāng)然還有其它的一些優(yōu)點如:更好的性能、可移植性和兼容性、可維護性、易用性與快速性等。
1.3 PL/SQL 可用的SQL語句
PL/SQL是ORACLE系統(tǒng)的核心語言,現(xiàn)在ORACLE的許多部件都是由PL/SQL寫成。在PL/SQL中可以使用的SQL語句有:
INSERT,UPDATE,DELETE,SELECT INTO,COMMIT,ROLLBACK,SAVEPOINT。
提示:在 PL/SQL中只能用 SQL語句中的 DML 部分,不能用 DDL 部分,如果要在PL/SQL中使用DDL(如CREATE table 等)的話,只能以動態(tài)的方式來使用。
l ORACLE 的 PL/SQL 組件在對 PL/SQL 程序進行解釋時,同時對在其所使用的表名、列名及數(shù)據(jù)類型進行檢查。
l PL/SQL 可以在SQL*PLUS 中使用。
l PL/SQL 可以在高級語言中使用。
l PL/SQL可以在ORACLE的開發(fā)工具中使用(如:SQL Developer或Procedure Builder等)。
l 其它開發(fā)工具也可以調(diào)用PL/SQL編寫的過程和函數(shù),如Power Builder 等都可以調(diào)用服務(wù)器端的PL/SQL過程。
1.4 運行PL/SQL程序
PL/SQL程序的運行是通過ORACLE中的一個引擎來進行的。這個引擎可能在ORACLE的服務(wù)器端,也可能在 ORACLE 應(yīng)用開發(fā)的客戶端。引擎執(zhí)行PL/SQL中的過程性語句,然后將SQL語句發(fā)送給數(shù)據(jù)庫服務(wù)器來執(zhí)行。再將結(jié)果返回給執(zhí)行端。
|