資源描述:
《《PLSQL程序設計》》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、《Oracle9iPL/SQL程序設計》ProceduralLanguagePL/SQL概述PL/SQL是Oracle對關系數(shù)據(jù)庫語言SQL的過程化擴充,它將數(shù)據(jù)庫技術和過程化程序設計語言聯(lián)系起來,是一種應用開發(fā)語言,可使用循環(huán),分支處理數(shù)據(jù),將SQL的數(shù)據(jù)操縱功能與過程化語言數(shù)據(jù)處理功能結合起來.PL/SQL的使用,使SQL成為一種高級程序設計語言,支持高級語言的塊操作,條件判斷,循環(huán)語句,嵌套等,與數(shù)據(jù)庫核心的數(shù)據(jù)類型集成,使SQL的程序設計效率更高.PL/SQL是一種塊結構語言,構成PL/SQL的基本單位是邏
2、輯塊,塊中可以嵌套子塊,以塊為單位向OracleServer傳遞數(shù)據(jù)執(zhí)行,其塊結構如下:DECLAREBEGINEXCEPTIONEND;說明部分:說明變量及常量執(zhí)行部分:使用SQL的DML語言事務處理例外處理:處理錯誤及警告信息邏輯塊結束2《PL/SQL程序設計》PL/SQL語言的特點PL/SQL中可以定義變量,變量有其作用范圍PL/SQL是以塊的方式設計,塊中可以嵌套子塊,子塊可以位于塊中任何部分子塊可以是PL/SQL中的一條命令PL/SQL中可以使用條件判斷,循環(huán),游標等高級語言程序設計方法模塊
3、式的過程化語言,以塊為單位執(zhí)行使用PL/SQL可以優(yōu)化程序設計,得到更好的性能(例如,執(zhí)行10個SQL語句,需要訪問10次Oracle核心,如果10個SQL組成一個PL/SQL程序,則只需訪問一次Oracle核心,將結果一次返回給用戶,則程序執(zhí)行效率高,節(jié)省時間,降低通信量)3《PL/SQL程序設計》減少對于Oracle核心的訪問,降低網(wǎng)絡負責數(shù)據(jù)庫數(shù)據(jù)類型集成PL/SQL支持全部的SQL數(shù)據(jù)類型,這些共享的數(shù)據(jù)類型與SQL所提供的直接存取相結合,使PL/SQL與Oracle數(shù)據(jù)字典結合成一體.PL/SQL與Or
4、acleRDBMS集成在一起,可以使用PL/SQL的集成數(shù)據(jù)類型,使變量的數(shù)據(jù)類型在數(shù)據(jù)庫的操作中實時確定.PL/SQL語言的特點4《PL/SQL程序設計》PL/SQL與SQL語言結合PL/SQL語句含有SQL的DML語句,檢索及事務處理PL/SQL中可以使用的SQL語句如下:INSERTUPDATEDELETESELECTINTOCOMMITROLLBACKSAVEPOINT支持RDBMS的所有數(shù)據(jù)類型對于SQL的數(shù)據(jù)類型進行了擴充,增加了新的數(shù)據(jù)類型,使PL/SQL所支持的數(shù)據(jù)類型更靈活.OracleRDB
5、MS對于PL/SQL中引用的表名,列名進行語句檢查對于SQL語句的執(zhí)行結果,PL/SQL提供返回信息檢查,通過PL/SQL的例外處理,記錄SQL的執(zhí)行結果.5《PL/SQL程序設計》PL/SQL基礎變量的使用和其他高級語言一樣,在PL/SQL中可以使用變量注釋單行注釋:--多行注釋:/**/數(shù)據(jù)類型日期型Date字符型CHAR,VARCHAR2數(shù)字型NUMBER布爾型BOOLEAN(TRUE,FALSE,NULL)數(shù)據(jù)類型FloatIntRealSmallint子類6《PL/SQL程序設計》PL/SQL數(shù)據(jù)類型
6、擴展數(shù)字型NUMBER存儲整型及實型數(shù)據(jù),可以定義精度和取值范圍BINARY_INTEGER可存儲帶符號整數(shù),為整數(shù)計算優(yōu)化性能DECNUMBER的子類型,存儲實型數(shù)據(jù)DOUBLEPRECISIONNUMBER的子類型,高精度實數(shù)INTEGERNUMBER的子類型,整數(shù)INTNUMBER的子類型,整數(shù)7《PL/SQL程序設計》PL/SQL數(shù)據(jù)類型擴展數(shù)字型SMALLINTNUMBER的子類型,取值范圍比INTEGER小NUMERICNUMBER的子類型,與NUMBER等價REALNUMBER的子類型,存儲實型數(shù)據(jù)8
7、《PL/SQL程序設計》PL/SQL數(shù)據(jù)類型擴展字符型VARCHAR2存放可變長字符串,有最大長度限制CHAR字符型,固定長度LONG長字符型CLOB大對象字符(Oracle8、Oracle8i)日期型Date存儲日期數(shù)據(jù)9《PL/SQL程序設計》PL/SQL數(shù)據(jù)類型擴展布爾型BOOLEAN結果是TRUE或FALSE二進制數(shù)據(jù)RAW存儲多媒體數(shù)據(jù),如圖象、聲音、視頻等BLOB大對象如圖象、聲音、視頻等(Oracle8、Oracle8i)10《PL/SQL程序設計》PL/SQL基礎數(shù)據(jù)定義標示符數(shù)據(jù)類型;標示符數(shù)據(jù)
8、類型:=PL/SQL表達式;例如,v_salarynumber(7,2);v_enamevarchar2(20):=‘SMITH’;11《PL/SQL程序設計》PL/SQL基礎變量賦值變量名:=值;v_salary:=890.76;v_date:=‘25-MAR-99’;Available_now:=FALSE;%TYPE類型CreditReal(