版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、sql游標(biāo).txt我不奢望什么,只希望你以后的女人一個(gè)不如一個(gè)。真懷念小時(shí)候啊,天熱的時(shí)候我也可以像男人一樣光膀子!游標(biāo)的概念游標(biāo)提供了一種從表中檢索數(shù)據(jù)并進(jìn)行操作的靈活手段,游標(biāo)主要用在服務(wù)器上,處理由客戶端發(fā)送給服務(wù)器端的SQL語(yǔ)句,或是批處理、存儲(chǔ)過(guò)程、觸發(fā)器中的數(shù)據(jù)處理請(qǐng)求。游標(biāo)的優(yōu)點(diǎn)在于它可以定位到結(jié)果集中的某一行,并可以對(duì)該行數(shù)據(jù)執(zhí)行特定操作,為用戶在處理數(shù)據(jù)的過(guò)程中提供了很大方便。一個(gè)完整的游標(biāo)由5部分組成,并且這5個(gè)部分
2、應(yīng)符合下面的順序。(1)聲明游標(biāo)。(2)打開(kāi)游標(biāo)。(3)從一個(gè)游標(biāo)中查找信息。(4)關(guān)閉游標(biāo)。(5)釋放游標(biāo)。聲明游標(biāo)首先來(lái)學(xué)習(xí)如何聲明一個(gè)游標(biāo),聲明游標(biāo)使用DECLARECURS語(yǔ)句。此語(yǔ)句有兩種語(yǔ)法聲明格式,分別為SQL92標(biāo)準(zhǔn)格式和SQLServer擴(kuò)展(擴(kuò)展了聲明游標(biāo)的參數(shù))格式,下面將分別介紹聲明游標(biāo)的兩種語(yǔ)法格式。1SQL92語(yǔ)法格式語(yǔ)法:DECLAREcurs_name[INSENSITIVE][SCROLL]CURSF_
3、statementFREADONLY|UPDATE[OFcolumn_name[...n]]]參數(shù)說(shuō)明:lDECLAREcurs_name:指定一個(gè)游標(biāo)名稱,其游標(biāo)名稱必須符合標(biāo)識(shí)符規(guī)則。lINSENSITIVE:定義一個(gè)游標(biāo),以創(chuàng)建將由該游標(biāo)使用的數(shù)據(jù)的臨時(shí)復(fù)本。對(duì)游標(biāo)的所有請(qǐng)求都從tempdb中的臨時(shí)表中得到應(yīng)答;因此,在對(duì)該游標(biāo)進(jìn)行提取操作時(shí)返回的數(shù)據(jù)中不反映對(duì)基表所做的修改,并且該游標(biāo)不允許修改。使用SQL92語(yǔ)法時(shí),如果省略I
4、NSENSITIVE,(任何用戶)對(duì)基表提交的刪除和更新都反映在后面的提取中。lSCROLL:指定所有的提取選項(xiàng)(FIRST、LAST、PRI、NEXT、RELATIVE、ABSOLUTE)均可用。參數(shù)說(shuō)明:lDECLAREcurs_name:指定一個(gè)游標(biāo)名稱,其游標(biāo)名稱必須符合標(biāo)識(shí)符規(guī)則。lLOCAL:定義游標(biāo)的作用域僅限在其所在的批處理、存儲(chǔ)過(guò)程或觸發(fā)器中。當(dāng)建立游標(biāo)在存儲(chǔ)過(guò)程執(zhí)行結(jié)束后,游標(biāo)會(huì)被自動(dòng)釋放。lGLOBAL:指定該游標(biāo)
5、的作用域?qū)B接是全局的。在由連接執(zhí)行的任何存儲(chǔ)過(guò)程或批處理中,都可以引用該游標(biāo)名稱。該游標(biāo)僅在脫接時(shí)隱性釋放。lFWARD_ONLY:指定游標(biāo)只能從第一行滾動(dòng)到最后一行。FETCHNEXT是惟一受支持的提取選項(xiàng)非指定STATIC、KEYSET或DYNAMIC關(guān)鍵字,否則默認(rèn)為FWARD_ONLY。STATIC、KEYSET和DYNAMIC游標(biāo)默認(rèn)為SCROLL。與ODBC和ADO這類數(shù)據(jù)庫(kù)API不同,STATIC、KEYSET和DYNA
6、MICTransactSQL游標(biāo)支持FWARD_ONLY。FAST_FWARD和FWARD_ONLY是互斥的;如果指定一個(gè),則不能指定另一個(gè)。lSTATIC:定義一個(gè)游標(biāo),以創(chuàng)建將由該游標(biāo)使用的數(shù)據(jù)的臨時(shí)復(fù)本。對(duì)游標(biāo)的所有請(qǐng)求都從tempdb中的該臨時(shí)表中得到應(yīng)答;因此,在對(duì)該游標(biāo)進(jìn)行提取操作時(shí)返回的數(shù)據(jù)中不反映對(duì)基表所做的修改,并且該游標(biāo)不允許修改。lKEYSET:指定當(dāng)游標(biāo)打開(kāi)時(shí),游標(biāo)中行的成員資格和順序已經(jīng)固定。對(duì)行進(jìn)行惟一標(biāo)識(shí)的
7、鍵集內(nèi)置在tempdb內(nèi)一個(gè)稱為keyset的表中。對(duì)基表中的非鍵值所做的更改(由游標(biāo)所有者更改或由其他用戶提交)在用戶滾動(dòng)游標(biāo)時(shí)是可視的。其他用戶進(jìn)行的插入是不可視的(不能通過(guò)TransactSQL服務(wù)器游標(biāo)進(jìn)行插入)。如果某行已刪除,則對(duì)該行的提取操作將返回@@FETCH_STATUS值2。從游標(biāo)外更新鍵值類似于刪除舊行后接著插入新行的操作。含有新值的行不可視,對(duì)含有舊值的行的提取操作將返回@@FETCH_STATUS值2。如果通過(guò)
8、指定WHERECURRENTOF子句用游標(biāo)完成更新,則新值可視。lDYNAMIC:定義一個(gè)游標(biāo),以反映在滾動(dòng)游標(biāo)時(shí)對(duì)結(jié)果集內(nèi)的行所做的所有數(shù)據(jù)的更改。行的數(shù)據(jù)值、順序和成員在每次提取時(shí)都會(huì)更改。動(dòng)態(tài)游標(biāo)不支持ABSOLUTE提取選項(xiàng)。lFAST_FWARD:指明一個(gè)FWARD_ONLY、READ_ONLY型游標(biāo)。lSCROLL_LOCKS:指定確保通過(guò)游標(biāo)完成的定位更新或定位刪除可以成功。將行讀入游標(biāo)以確保它們可用于以后的修改時(shí),SQL
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- sql游標(biāo)
- sql 游標(biāo)使用
- sql 游標(biāo)快速上手
- sql 游標(biāo) 數(shù)據(jù)庫(kù)
- sql-server 聲明游標(biāo)
- sql游標(biāo)快速上手33401
- sql_server游標(biāo)詳解
- sql server游標(biāo)的使用
- sql游標(biāo)原理和使用方法
- sql游標(biāo)原理和使用方法40175
- 實(shí)驗(yàn)十三 t-sql程序設(shè)計(jì)與游標(biāo)設(shè)計(jì)
- oracle游標(biāo)
- 游標(biāo)使用
- 游標(biāo).dwg
- 游標(biāo)編碼
- 游標(biāo).dwg
- 游標(biāo).dwg
- 游標(biāo)詳解
- mysql游標(biāo)
- 游標(biāo)筆記
評(píng)論
0/150
提交評(píng)論