斷斷續(xù)續(xù)學過,這次系統(tǒng)地來讀讀。
(一)
PL/SQL是oracle在標準SQL語言上的過程性擴展,它不僅允許嵌入SQL語句,而且允許定義變量和常量,允許過程語言結(jié)構(gòu)(條件語句和循環(huán)語句),允許使用異常處理oracle錯誤等。通過使用PL/SQL,可以在一個PL/SQL塊中包含多條SQL語句和PL/SQL語句。PL/SQL具有以下優(yōu)點:
1。提高應用系統(tǒng)的運行性能。
通過使用PL/SQL塊包含多條SQL語句,從而減少了SQL語句的發(fā)送次數(shù),降低了網(wǎng)絡開銷,提高了應用程序性能
2。提供模塊化的程序設計功能。
將企業(yè)規(guī)則和商業(yè)邏輯集成到PL/SQL子程序當中,提供給客戶端調(diào)用,簡化了客戶端應用程序的開發(fā)和維護工作,降低了耦合度
3。允許定義標識符,允許定義變量、常量、游標和異常等標識符
4。具有過程語言控制結(jié)構(gòu),允許使用條件分支語句和循環(huán)語句
5。具有良好的兼容性,在允許運行oracle的任何平臺上執(zhí)行,不僅在數(shù)據(jù)庫服務端執(zhí)行,也可以在oracle提供的工具中開發(fā)PL/SQL
6。處理運行錯誤,使用PL/SQL提供的EXCEPTION,開發(fā)人員可以集中處理各種oracle錯誤和PL/SQL錯誤,簡化了錯誤處理。
(二)
PL/SQL塊的概念:
Block是PL/SQL的基本單元,編寫PL/SQL本質(zhì)上就是編寫PL/SQL塊,塊的嵌套層次沒有限制。
1。塊的結(jié)構(gòu):塊由3部分組成
?
其中只有執(zhí)行部分是必須的!
2。分類:
1)匿名塊,匿名塊是指沒有名稱的PL/SQL塊,可以內(nèi)嵌到應用程序中,如:
2)命名塊:與匿名塊相似,使用命名塊主要是為了區(qū)分多級嵌套關系,如:
3)子程序,又可以分成3種:過程、函數(shù)和包
A。過程用于執(zhí)行特定操作,當建立過程時既可以指定輸入?yún)?shù),也可以指定輸出參數(shù),從而在應用環(huán)境和程序間傳遞數(shù)據(jù),使用CREATE PROCEDURE語句,如:
B)函數(shù),與過程主要不同是函數(shù)需要返回數(shù)據(jù),在函數(shù)頭和函數(shù)體都必須有RETURN語句,如:
C)包,類似JAVA包的概念,包含兩部分,包規(guī)范和包體,包規(guī)范相當于C++中的頭文件聲明子程序,而包體包含這些子程序的具體實現(xiàn)。調(diào)用包中的子程序時,需要 ‘包名.子程序名’ 這樣的形式調(diào)用
4。觸發(fā)器是指隱含執(zhí)行的存儲過程,定義觸發(fā)器需要指定觸發(fā)事件和觸發(fā)操作,常見觸發(fā)事件如insert,update,delete等,使用CREATE?TRIGGER命令建立
Powered by: BlogJava Copyright © dennis
關于我