2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1、游標(biāo)、游標(biāo)游標(biāo)是指向結(jié)果集的指針,它提供一種機(jī)制,可以對(duì)結(jié)果集進(jìn)行逐行處理。游標(biāo)分為顯式游標(biāo)和隱式游標(biāo)。顯式游標(biāo)是acle提供的一種訪(fǎng)問(wèn)數(shù)據(jù)的方法,讓用戶(hù)創(chuàng)建和使用;隱式游標(biāo)是在執(zhí)行…into、、update、等語(yǔ)句時(shí),由acle自動(dòng)創(chuàng)建的一個(gè)游標(biāo),隱式游標(biāo)一次只能返回一行,不能對(duì)其進(jìn)行操作,由系統(tǒng)自動(dòng)處理。2、顯式游標(biāo)的使用:、顯式游標(biāo)的使用:(一般用來(lái)處理一般用來(lái)處理語(yǔ)句返回的多行數(shù)據(jù)語(yǔ)句返回的多行數(shù)據(jù))(1)聲明游標(biāo):curs

2、cursName[(arg1datatype[arg2datatype…])]is_statement解釋?zhuān)篶ursName是游標(biāo)名,arg1為游標(biāo)的參數(shù);datatype為參數(shù)類(lèi)型,不能指定長(zhǎng)度,只能是輸入類(lèi)型;_statement是指定游標(biāo)的查詢(xún)語(yǔ)句。_statment還可以加鎖,如:cursemp_cursisfromempfupdate[ofemp][nowait]解釋?zhuān)憾鄠€(gè)表時(shí)of選項(xiàng)指定要加鎖的表;nowait選項(xiàng)表示鎖未添

3、加成功時(shí),則返回并由用戶(hù)決定等待還是去執(zhí)行其他語(yǔ)句。(2)打開(kāi)游標(biāo):打開(kāi)游標(biāo)時(shí),acle會(huì)執(zhí)行游標(biāo)所對(duì)應(yīng)的查詢(xún)語(yǔ)句,并將查詢(xún)的結(jié)果集暫存到結(jié)果集中,此時(shí)結(jié)果集是靜態(tài)的,對(duì)其所作的操作不會(huì)對(duì)結(jié)果集有影響,直到關(guān)閉游標(biāo)后,對(duì)其所作的操作才會(huì)在結(jié)果集中反映出來(lái)。opencurs_name打開(kāi)游標(biāo),curs_name為游標(biāo)名。(3)提取游標(biāo)指向的數(shù)據(jù):提取一行數(shù)據(jù)的語(yǔ)法:fetchcursNameintovar1var2…解釋?zhuān)簩ursNam

4、e指向的行的數(shù)據(jù)提取出來(lái)賦值給var1等,每執(zhí)行一次fetch語(yǔ)句,游標(biāo)就會(huì)指向下一行。提取多行數(shù)據(jù)的語(yǔ)法:fetchcursNamebulkcollectintocollect1collect2…[limitrows]解釋?zhuān)簩⒂螛?biāo)指向的單行中的各列數(shù)據(jù)分別賦給各個(gè)變量(這里的變量相當(dāng)于數(shù)組(單列多行型),保存多個(gè)值),然后取出下一行繼續(xù)賦值,直到結(jié)束,limit指定取出的行數(shù)。(4)關(guān)閉游標(biāo):提取并處理了結(jié)果集中的所有數(shù)據(jù)后,就可以關(guān)

5、閉游標(biāo)并釋放其結(jié)果集了。語(yǔ)法:closecursName關(guān)閉游標(biāo)名為cursName的游標(biāo)使用無(wú)參數(shù)顯式游標(biāo)的例子:declarecursemp_cursisenamesalfromempwheredeptno=10fupdate1.定義游標(biāo)(即定義指向結(jié)果集的指針)一行一行的提取數(shù)據(jù),由于后面要修改行中數(shù)據(jù),便聲明為fupdate來(lái)加鎖v_enameemp.ename%type保存一行一行提取的數(shù)據(jù)的變量v_salemp.sal%ty

6、pecurscs_empisenamesalcommfromempwheredeptno=30定義另一個(gè)游標(biāo),提取3、隱式游標(biāo)的使用:、隱式游標(biāo)的使用:隱式游標(biāo)是在執(zhí)行…into、、update、等語(yǔ)句時(shí),由acle自動(dòng)創(chuàng)建的一個(gè)游標(biāo),名稱(chēng)為SQL。隱式游標(biāo)一次只能返回一行,不能對(duì)其進(jìn)行open、fetch、close等操作,由系統(tǒng)自動(dòng)處理。使用隱式游標(biāo)的例子:declarectnumberbeginupdateempsetcomm=1

7、00wheredeptno=20這條語(yǔ)句將產(chǎn)生一個(gè)隱式游標(biāo)ct:=sql%rowcount將游標(biāo)指向的數(shù)據(jù)的行數(shù)賦給ctdbms_output.put_line(有||ct||個(gè)員工的補(bǔ)貼被修改)打印相關(guān)信息end4、f循環(huán)對(duì)游標(biāo)的使用:循環(huán)對(duì)游標(biāo)的使用:使用f循環(huán)時(shí),acle會(huì)隱含的打開(kāi)游標(biāo)、提取游標(biāo)指向的數(shù)據(jù)和關(guān)閉游標(biāo)。例一:declarecurscs_adjisfromempbeginfemincs_adjloopdbms_out

8、put.put_line(員工編號(hào)是:||em.empno||員工名是:||em.ename)endloopend例二:beginfein(enamesalfromemp)loopdbms_output.put_line(e.ename)endloopend5、游標(biāo)的屬性:、游標(biāo)的屬性:☆%isopen確定游標(biāo)是否打開(kāi),若打開(kāi)返回為T(mén)RUE,否則返回FALSE☆%found確定游標(biāo)是否提取到數(shù)據(jù),若提取到返回TRUE,否則返回FALSE

9、☆%notfound確定游標(biāo)是否沒(méi)提取到數(shù)據(jù),若提到數(shù)據(jù)返回FALSE,否則返回TRUE☆rowcount返回當(dāng)前位置已提取到的行數(shù)各個(gè)游標(biāo)屬性的詳細(xì)解釋?zhuān)簩傩詫傩?FOUND%NOFOUND%ISOPEN%ROWCOUNTOPEN之前拋出A01001拋出A01001FALSE拋出A01001OPEN之后NULLNULLTRUE0第一個(gè)FETCH之前NULLNULLTRUE0第一個(gè)FETCH之后TRUEFALSETRUE1在后續(xù)的FET

溫馨提示

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

評(píng)論

0/150

提交評(píng)論