資源描述:
《北大青鳥Oracle教程集.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、異常和游標管理第七章回顧PL/SQL代表procedurallanguage/SQL(procedurallanguage:過程語言)將SQL的數(shù)據(jù)操縱功能與過程語言的數(shù)據(jù)處理功能結(jié)合在一起允許使用所有的SQLDML、TCL、SQL函數(shù)和操作符PL/SQL引擎執(zhí)行PL/SQL塊PL/SQL塊的三個組成部分是:聲明部分、可執(zhí)行部分和異常處理部分在聲明部分中聲明變量和常量LOB類型用于存儲大型對象屬性用于引用數(shù)據(jù)庫的數(shù)據(jù)類型和對象支持變量和常量的比較有三種類型的控制結(jié)構(gòu)-條件控制、迭代控制和順序控制第六章
2、-PL/SQL簡介2目標詳細討論異常游標管理技巧3異常8-1程序錯誤編譯時運行時異常處理運行時錯誤4PL/SQL是如何處理異常的?錯誤引發(fā)異常每當引發(fā)異常時,都將控制權傳遞給異常處理程序異常處理程序處理異常異常8-25異常中涉及的步驟聲明異常引發(fā)異常處理異常異常8-36異常的類型預定義的異常非預定義的異常用戶定義的異常異常8-47預定義的異常由Oracle為常見錯誤預定義在DBMS_STANDARD程序包中提供了這些定義不需要顯式聲明異常8-58非預定義的異常指定與Oracle錯誤關聯(lián)的異常關聯(lián)是通過
3、EXCEPTION_INIT編譯指示建立的異常8-69用戶定義的異常由程序定義的錯誤在聲明部分中聲明類型EXCEPTION聲明用戶定義的異常是使用RAISE語句顯式引發(fā)的異常8-710Raise_Application_Error用于創(chuàng)建用戶定義的錯誤消息的過程既可以在可執(zhí)行部分中使用,也可以在異常部分中使用錯誤編號必須介于–20000和–20999之間錯誤消息的長度可長達2048個字節(jié)異常8-811游標管理9-1游標指向上下文區(qū)域的句柄或指針上下文區(qū)域-用于SQL處理的內(nèi)存區(qū)上下文區(qū)域的內(nèi)容語句處理
4、的行數(shù)指向語句的語法分析表示的指針12游標管理9-2游標類型靜態(tài)游標隱式游標顯式游標REF游標13游標管理9-3隱式游標由Oracle在內(nèi)部聲明用于處理DML語句返回單行的查詢14游標屬性%NOTFOUND%FOUND%ROWCOUNT%ISOPEN游標管理9-415顯式游標由用戶顯式聲明游標將指向活動集中的當前行控制顯式游標OpenFetchClose游標管理9-516循環(huán)游標顯式游標的替代方法它的工作原理是什么?隱式打開游標自動從活動集獲取行在處理完所有行時關閉游標優(yōu)點簡化代碼的編寫游標管理9-6
5、17REF游標在運行時使不同的語句與之關聯(lián)REF游標使用游標變量游標變量一種引用類型可以在運行時指向不同的存儲位置Close語句關閉游標并釋放用于查詢的資源游標管理9-718游標變量的類型具有約束的游標變量具有返回類型的游標變量也稱為“強游標”無約束的游標變量沒有返回類型的游標變量也稱為“弱游標”游標管理9-819限制不能在程序包中聲明游標變量遠程子程序不能接受游標變量的值不能使用比較操作符對游標變量進行相等或不相等測試不能將空值賦予游標變量表不能存儲游標變量的值游標管理9-920總結(jié)2-1異常處理
6、運行時錯誤可用的異常類型有三種:預定義的、非預定義的和用戶定義的Raise_application_error以交互方式傳達預定義的異常游標是一個指向上下文區(qū)域的指針可用的兩種靜態(tài)游標類型是隱式游標和顯式游標21總結(jié)2-2可用的不同游標屬性是:%notfound、%found、%rowcount和%isopen顯式游標是使用open、fetch和close語句控制的循環(huán)游標隱式打開游標,獲取行并關閉游標REF游標用于在運行時使不同的SQL語句與之關聯(lián)22