異常管理與游標(biāo)管理概述(ppt 22頁(yè)).ppt_第1頁(yè)
異常管理與游標(biāo)管理概述(ppt 22頁(yè)).ppt_第2頁(yè)
異常管理與游標(biāo)管理概述(ppt 22頁(yè)).ppt_第3頁(yè)
異常管理與游標(biāo)管理概述(ppt 22頁(yè)).ppt_第4頁(yè)
異常管理與游標(biāo)管理概述(ppt 22頁(yè)).ppt_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、異常和游標(biāo)管理,第七章,2,回顧,PL/SQL 代表 procedural language/SQL(procedural language:過(guò)程語(yǔ)言) 將 SQL 的數(shù)據(jù)操縱功能與過(guò)程語(yǔ)言的數(shù)據(jù)處理功能結(jié)合在一起 允許使用所有的 SQL DML、TCL、SQL 函數(shù)和操作符 PL/SQL 引擎執(zhí)行 PL/SQL 塊 PL/SQL 塊的三個(gè)組成部分是:聲明部分、可執(zhí)行部分和異常處理部分 在聲明部分中聲明變量和常量 LOB 類型用于存儲(chǔ)大型對(duì)象 屬性用于引用數(shù)據(jù)庫(kù)的數(shù)據(jù)類型和對(duì)象 支持變量和常量的比較 有三種類型的控制結(jié)構(gòu) - 條件控制、迭代控制和順序控制,第六章 - PL/SQL 簡(jiǎn)介,3,目

2、標(biāo),詳細(xì)討論異常 游標(biāo)管理技巧,4,異常 8- 1,程序錯(cuò)誤 編譯時(shí) 運(yùn)行時(shí) 異常 處理運(yùn)行時(shí)錯(cuò)誤,5,PL/SQL 是如何處理異常的? 錯(cuò)誤引發(fā)異常 每當(dāng)引發(fā)異常時(shí),都將控制權(quán)傳遞給異常處理程序 異常處理程序處理異常,異常8 - 2,6,異常中涉及的步驟 聲明異常 引發(fā)異常 處理異常,異常 8- 3,7,異常的類型 預(yù)定義的異常 非預(yù)定義的異常 用戶定義的異常,異常 8- 4,8,預(yù)定義的異常 由 Oracle 為常見(jiàn)錯(cuò)誤預(yù)定義 在 DBMS_STANDARD 程序包中提供了這些定義 不需要顯式聲明,異常8 - 5,9,非預(yù)定義的異常 指定與 Oracle 錯(cuò)誤關(guān)聯(lián)的異常 關(guān)聯(lián)是通過(guò) EXC

3、EPTION_INIT 編譯指示建立的,異常8 - 6,10,用戶定義的異常 由程序定義的錯(cuò)誤 在聲明部分中聲明 類型 EXCEPTION 聲明用戶定義的異常 是使用 RAISE 語(yǔ)句顯式引發(fā)的,異常 8- 7,11,Raise_Application_Error 用于創(chuàng)建用戶定義的錯(cuò)誤消息的過(guò)程 既可以在可執(zhí)行部分中使用,也可以在異常部分中使用 錯(cuò)誤編號(hào)必須介于 20000 和 20999 之間 錯(cuò)誤消息的長(zhǎng)度可長(zhǎng)達(dá) 2048 個(gè)字節(jié),異常8 - 8,12,游標(biāo)管理9 - 1,游標(biāo) 指向上下文區(qū)域的句柄或指針 上下文區(qū)域 - 用于 SQL 處理的內(nèi)存區(qū) 上下文區(qū)域的內(nèi)容 語(yǔ)句處理的行數(shù) 指向

4、語(yǔ)句的語(yǔ)法分析表示的指針,13,游標(biāo)管理9 - 2,游標(biāo)類型 靜態(tài)游標(biāo) 隱式游標(biāo) 顯式游標(biāo) REF 游標(biāo),14,游標(biāo)管理9 - 3,隱式游標(biāo) 由 Oracle 在內(nèi)部聲明 用于處理 DML 語(yǔ)句 返回單行的查詢,15,游標(biāo)屬性 %NOTFOUND %FOUND %ROWCOUNT %ISOPEN,游標(biāo)管理 9- 4,16,顯式游標(biāo) 由用戶顯式聲明 游標(biāo)將指向活動(dòng)集中的當(dāng)前行 控制顯式游標(biāo) Open Fetch Close,游標(biāo)管理 9- 5,17,循環(huán)游標(biāo) 顯式游標(biāo)的替代方法 它的工作原理是什么? 隱式打開(kāi)游標(biāo) 自動(dòng)從活動(dòng)集獲取行 在處理完所有行時(shí)關(guān)閉游標(biāo) 優(yōu)點(diǎn) 簡(jiǎn)化代碼的編寫(xiě),游標(biāo)管理9 -

5、 6,18,REF 游標(biāo) 在運(yùn)行時(shí)使不同的語(yǔ)句與之關(guān)聯(lián) REF 游標(biāo)使用游標(biāo)變量 游標(biāo)變量 一種引用類型 可以在運(yùn)行時(shí)指向不同的存儲(chǔ)位置 Close 語(yǔ)句關(guān)閉游標(biāo)并釋放用于查詢的資源,游標(biāo)管理9 - 7,19,游標(biāo)變量的類型 具有約束的游標(biāo)變量 具有返回類型的游標(biāo)變量 也稱為“強(qiáng)游標(biāo)” 無(wú)約束的游標(biāo)變量 沒(méi)有返回類型的游標(biāo)變量 也稱為“弱游標(biāo)”,游標(biāo)管理9 - 8,20,限制 不能在程序包中聲明游標(biāo)變量 遠(yuǎn)程子程序不能接受游標(biāo)變量的值 不能使用比較操作符對(duì)游標(biāo)變量進(jìn)行相等或不相等測(cè)試 不能將空值賦予游標(biāo)變量 表不能存儲(chǔ)游標(biāo)變量的值,游標(biāo)管理9 - 9,21,總結(jié) 2- 1,異常處理運(yùn)行時(shí)錯(cuò)誤 可用的異常類型有三種:預(yù)定義的、非預(yù)定義的和用戶定義的 Raise_application_error 以交互方式傳達(dá)預(yù)定義的異常 游標(biāo)是一個(gè)指向上下文區(qū)域的指針 可用的兩種靜態(tài)游標(biāo)類型是隱式游標(biāo)和顯式游標(biāo),22,總結(jié)2 - 2,可用的不同游標(biāo)屬性是:%notfound、%found、%rowcount 和 %i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論