Oracle PL/SQL語(yǔ)言基礎(chǔ)(1)
發(fā)布時(shí)間:2008-10-01 閱讀數(shù): 次 來源:網(wǎng)樂原科技
PL/SQL是ORACLE對(duì)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)語(yǔ)言的擴(kuò)展,ORACLE公司已經(jīng)將PL/SQL整合到ORACLE 服務(wù)器和其他工具中了,近幾年中更多的開發(fā)人員和DBA開始使用PL/SQL,本文將講述PL/SQL基礎(chǔ)語(yǔ)法,結(jié)構(gòu)和組件、以及如何設(shè)計(jì)并執(zhí)行一個(gè)PL/SQL程序。
PL/SQL的優(yōu)點(diǎn)
從版本6開始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的優(yōu)點(diǎn)以及其獨(dú)有的數(shù)據(jù)管理的便利性,那么你很難想象ORACLE缺了PL/SQL的情形。PL/SQL 不是一個(gè)獨(dú)立的產(chǎn)品,他是一個(gè)整合到ORACLE服務(wù)器和ORACLE工具中的技術(shù),可以把PL/SQL看作ORACLE服務(wù)器內(nèi)的一個(gè)引擎,sql語(yǔ)句執(zhí)行者處理單個(gè)的sql語(yǔ)句,PL/SQL引擎處理PL/SQL程序塊。當(dāng)PL/SQL程序塊在PL/SQL引擎處理時(shí),ORACLE服務(wù)器中的SQL語(yǔ)句執(zhí)行器處理pl/sql程序塊中的SQL語(yǔ)句。
PL/SQL的優(yōu)點(diǎn)如下:
. PL/SQL是一種高性能的基于事務(wù)處理的語(yǔ)言,能運(yùn)行在任何ORACLE環(huán)境中,支持所有數(shù)據(jù)處理命令。通過使用PL/SQL程序單元處理SQL的數(shù)據(jù)定義和數(shù)據(jù)控制元素。
. PL/SQL支持所有SQL數(shù)據(jù)類型和所有SQL函數(shù),同時(shí)支持所有ORACLE對(duì)象類型
. PL/SQL塊可以被命名和存儲(chǔ)在ORACLE服務(wù)器中,同時(shí)也能被其他的PL/SQL程序或SQL命令調(diào)用,任何客戶/服務(wù)器工具都能訪問PL/SQL程序,具有很好的可重用性。
. 可以使用ORACLE數(shù)據(jù)工具管理存儲(chǔ)在服務(wù)器中的PL/SQL程序的安全性??梢允跈?quán)或撤銷數(shù)據(jù)庫(kù)其他用戶訪問PL/SQL程序的能力。
. PL/SQL代碼可以使用任何ASCII文本編輯器編寫,所以對(duì)任何ORACLE能夠運(yùn)行的操作系統(tǒng)都是非常便利的
. 對(duì)于SQL,ORACLE必須在同一時(shí)間處理每一條SQL語(yǔ)句,在網(wǎng)絡(luò)環(huán)境下這就意味作每一個(gè)獨(dú)立的調(diào)用都必須被oracle服務(wù)器處理,這就占用大量的服務(wù)器時(shí)間,同時(shí)導(dǎo)致網(wǎng)絡(luò)擁擠。而PL/SQL是以整個(gè)語(yǔ)句塊發(fā)給服務(wù)器,這就降低了網(wǎng)絡(luò)擁擠。
PL/SQL塊結(jié)構(gòu)
PL/SQL是一種塊結(jié)構(gòu)的語(yǔ)言,組成PL/SQL程序的單元是邏輯塊,一個(gè)PL/SQL 程序包含了一個(gè)或多個(gè)邏輯塊,每個(gè)塊都可以劃分為三個(gè)部分。與其他語(yǔ)言相同,變量在使用之前必須聲明,PL/SQL提供了獨(dú)立的專門用于處理異常的部分,下面描述了PL/SQL塊的不同部分: