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