ORACLE游標的創(chuàng)建與應(yīng)用.ppt

ORACLE游標的創(chuàng)建與應(yīng)用.ppt

ID:62010891

大?。?.04 MB

頁數(shù):39頁

時間:2021-04-12

ORACLE游標的創(chuàng)建與應(yīng)用.ppt_第1頁
ORACLE游標的創(chuàng)建與應(yīng)用.ppt_第2頁
ORACLE游標的創(chuàng)建與應(yīng)用.ppt_第3頁
ORACLE游標的創(chuàng)建與應(yīng)用.ppt_第4頁
ORACLE游標的創(chuàng)建與應(yīng)用.ppt_第5頁
資源描述:

《ORACLE游標的創(chuàng)建與應(yīng)用.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、7.1游標的創(chuàng)建與應(yīng)用經(jīng)1106徐曉碩學(xué)號201111891.游標的概念2.顯式游標3.帶參數(shù)的游標4.隱式游標1.游標的概念背景由來當(dāng)SELECT語句在PL/SQL程序塊中使用時,要求查詢結(jié)果中只能包含一條記錄,若查詢出來的數(shù)據(jù)多于一行,則執(zhí)行出錯。這時候就需要用到游標。1.游標的概念Oracle游標的概念游標是ORACLE系統(tǒng)在內(nèi)存中開辟的一個工作區(qū),在其中存放SELECT語句返回的查詢結(jié)果。這個查詢結(jié)果既可以是零記錄,單條記錄,也可以是多條記錄.在游標所定義的工作區(qū)中,存在著一個指針(POINTER),在初始狀態(tài)它指向查詢結(jié)果的首記錄.1.游標的概念Oracle游標的類

2、型①隱式游標:是oracle為所有數(shù)據(jù)操縱語句(包括只返回單行數(shù)據(jù)的查詢語句)自動聲明和操作的一種游標(名字是sql)。②顯式游標:用戶顯示聲明的游標,即指定結(jié)果集。當(dāng)查詢返回結(jié)果超過一行時,就需要一個顯式游標。2.顯式游標顯式游標的使用過程1.定義游標2.打開游標3.提取游標4.處理數(shù)據(jù)5.關(guān)閉游標1.定義游標語法:CURSOR游標名ISSELECT語句;例子:CURSORc1ISSELECT*FROMemp;2.打開游標語法:OPEN游標名;例子:OPENc1;3.提取數(shù)據(jù)游標被打開后,使用FETCH語句獲取游標正在指向的結(jié)果集中的記錄,語句執(zhí)行后游標的指針自動下移,指向

3、下一條記錄。每執(zhí)行一次FETCH語句,游標只獲取一行記錄。3.提取數(shù)據(jù)語法:FETCH游標名INTO變量名;例子:FETCHc1INTOemp_rec;其中emp_rec是已定義好的和emp結(jié)構(gòu)相同的記錄變量。4.處理數(shù)據(jù)上一步已經(jīng)將游標指向的當(dāng)期行記錄通過FETCH語句提取出來并放到變量(emp_rec)中,接下來就可以對這些變量中的數(shù)據(jù)進行處理了。例:將emp_rec中的數(shù)據(jù)輸出dbms_output.put_line(‘姓名是:’

4、

5、emp_rec.ename);5.關(guān)閉游標語法:CLOSE游標名;例子:CLOSEc1;首先創(chuàng)建一個表查看表中的信息游標的聲明與使用游標的

6、聲明與使用每執(zhí)行一次FETCH語句,游標只獲取一行記錄5次FETCH操作游標的聲明與使用FETCH語句指向最后記錄,將不再移動6次FETCH操作2.顯式游標游標的常用屬性1.%ISOPEN屬性2.%FOUND屬性3.%NOTFOUND屬性4.%ROWCOUNT屬性1.%ISOPEN屬性判斷游標是否打開。打開返回值為TURE,未打開返回值為FALSE。語法:游標名%ISOPEN;例子:IFc1%ISOPENTHEN…;2.%FOUND屬性判斷游標是否從結(jié)果集中取到數(shù)據(jù)。取到返回值為TURE,未取到返回值為FALSE。語法:游標名%FOUND;例子:IFc1%FOUNDTHEN…

7、;3.%NOTFOUND屬性與%FOUND相反。未取到數(shù)據(jù)返回值為TURE,取到數(shù)據(jù)返回值為FALSE。語法:游標名%NOTFOUND;例子:IFc1%NOTFOUNDTHEN…;4.%ROWCOUNT屬性表示游標從查詢結(jié)果集中已經(jīng)獲取到的記錄總數(shù)。語法:游標名%ROWCOUNT;例子:FETCHc1INTOemp_rec;IFc1%ROWCOUNT>10THEN…;2.顯式游標顯式游標的循環(huán)1.游標的LOOP循環(huán)2.游標的FOR循環(huán)1.游標的LOOP循環(huán)語法:LOOPFETCH游標名INTO變量名;EXIT?WHEN游標名%NOTFOUND;END?LOOP;LOOP循環(huán)中

8、的FETCH語句重復(fù)執(zhí)行,當(dāng)FETCH語句不能從游標的當(dāng)前行取出數(shù)據(jù)時,循環(huán)結(jié)束。游標的聲明與使用2.游標的FOR循環(huán)語法:FOR變量名IN游標名LOOP數(shù)據(jù)處理語句;ENDLOOP;2.游標的FOR循環(huán)特點:FOR循環(huán)中循環(huán)控制變量不需要事先定義FOR循環(huán)之前,系統(tǒng)能自動打開游標;循環(huán)結(jié)束后,系統(tǒng)自動關(guān)閉游標。FOR循環(huán)過程中,自動執(zhí)行FETCH語句。3.帶參數(shù)的游標背景由來在前面介紹游標的例子中,SELECT語句都沒有WHERE子句,或者用WHERE子句指定了一個固定的條件,這樣每次都查詢同樣的數(shù)據(jù)。在更多的情況下,可能要根據(jù)實際情況查詢不同的數(shù)據(jù)。要怎么辦?3.帶參數(shù)的

9、游標背景由來為了通過游標對數(shù)據(jù)進行更加靈活的處理,可以為游標定義參數(shù),這些參數(shù)可以用在WHERE子句中。在打開游標時,指定實際的參數(shù)值,這樣游標在每次打開時,可以根據(jù)不同的實際參數(shù)值,返回所需的不同數(shù)據(jù)。3.帶參數(shù)的游標定義格式語法:CURSOR游標名(參數(shù)名數(shù)據(jù)類型[DEFAULT默認值])ISSELECT語句;參數(shù)需要指明參數(shù)名及其數(shù)據(jù)類型。參數(shù)只定義數(shù)據(jù)類型,沒有大小??梢越o參數(shù)設(shè)定一個缺省值,當(dāng)沒有參數(shù)值傳遞給游標時,就使用缺省值。4.隱式游標背景由來DML操作和單行SELECT語句會使用隱式游

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。