版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、游標(biāo)的概念游標(biāo)提供了一種從表中檢索數(shù)據(jù)并進(jìn)行操作的靈活手段,游標(biāo)主要用在服務(wù)器上,處理由客戶端發(fā)送給服務(wù)器端的SQL語句,或是批處理、存儲過程、觸發(fā)器中的數(shù)據(jù)處理請求。游標(biāo)的優(yōu)點(diǎn)在于它可以定位到結(jié)果集中的某一行,并可以對該行數(shù)據(jù)執(zhí)行特定操作,為用戶在處理數(shù)據(jù)的過程中提供了很大方便。一個完整的游標(biāo)由5部分組成,并且這5個部分應(yīng)符合下面的順序。(1)聲明游標(biāo)。(2)打開游標(biāo)。(3)從一個游標(biāo)中查找信息。(4)關(guān)閉游標(biāo)。(5)釋放游標(biāo)。聲明游
2、標(biāo)首先來學(xué)習(xí)如何聲明一個游標(biāo),聲明游標(biāo)使用DECLARECURS語句。此語句有兩種語法聲明格式,分別為SQL92標(biāo)準(zhǔn)格式和SQLServer擴(kuò)展(擴(kuò)展了聲明游標(biāo)的參數(shù))格式,下面將分別介紹聲明游標(biāo)的兩種語法格式。1SQL92語法格式語法:DECLAREcurs_name[INSENSITIVE][SCROLL]CURSF_statementFREADONLY|UPDATE[OFcolumn_name[...n]]]參數(shù)說明:lDECLA
3、REcurs_name:指定一個游標(biāo)名稱,其游標(biāo)名稱必須符合標(biāo)識符規(guī)則。lINSENSITIVE:定義一個游標(biāo),以創(chuàng)建將由該游標(biāo)使用的數(shù)據(jù)的臨時復(fù)本。對游標(biāo)的所有請求都從tempdb中的臨時表中得到應(yīng)答;因此,在對該游標(biāo)進(jìn)行提取操作時返回的數(shù)據(jù)中不反映對基表所做的修改,并且該游標(biāo)不允許修改。使用SQL92語法時,如果省略INSENSITIVE,(任何用戶)對基表提交的刪除和更新都反映在后面的提取中。lSCROLL:指定所有的提取選項(xiàng)(F
4、IRST、LAST、PRI、NEXT、RELATIVE、ABSOLUTE)均可用。FIRST:取第一行數(shù)據(jù)。lDECLAREcurs_name:指定一個游標(biāo)名稱,其游標(biāo)名稱必須符合標(biāo)識符規(guī)則。lLOCAL:定義游標(biāo)的作用域僅限在其所在的批處理、存儲過程或觸發(fā)器中。當(dāng)建立游標(biāo)在存儲過程執(zhí)行結(jié)束后,游標(biāo)會被自動釋放。lGLOBAL:指定該游標(biāo)的作用域?qū)B接是全局的。在由連接執(zhí)行的任何存儲過程或批處理中,都可以引用該游標(biāo)名稱。該游標(biāo)僅在脫接時
5、隱性釋放。lFWARD_ONLY:指定游標(biāo)只能從第一行滾動到最后一行。FETCHNEXT是惟一受支持的提取選項(xiàng)非指定STATIC、KEYSET或DYNAMIC關(guān)鍵字,否則默認(rèn)為FWARD_ONLY。STATIC、KEYSET和DYNAMIC游標(biāo)默認(rèn)為SCROLL。與ODBC和ADO這類數(shù)據(jù)庫API不同,STATIC、KEYSET和DYNAMICTransactSQL游標(biāo)支持FWARD_ONLY。FAST_FWARD和FWARD_ONLY
6、是互斥的;如果指定一個,則不能指定另一個。lSTATIC:定義一個游標(biāo),以創(chuàng)建將由該游標(biāo)使用的數(shù)據(jù)的臨時復(fù)本。對游標(biāo)的所有請求都從tempdb中的該臨時表中得到應(yīng)答;因此,在對該游標(biāo)進(jìn)行提取操作時返回的數(shù)據(jù)中不反映對基表所做的修改,并且該游標(biāo)不允許修改。lKEYSET:指定當(dāng)游標(biāo)打開時,游標(biāo)中行的成員資格和順序已經(jīng)固定。對行進(jìn)行惟一標(biāo)識的鍵集內(nèi)置在tempdb內(nèi)一個稱為keyset的表中。對基表中的非鍵值所做的更改(由游標(biāo)所有者更改或由
7、其他用戶提交)在用戶滾動游標(biāo)時是可視的。其他用戶進(jìn)行的插入是不可視的(不能通過TransactSQL服務(wù)器游標(biāo)進(jìn)行插入)。如果某行已刪除,則對該行的提取操作將返回@@FETCH_STATUS值2。從游標(biāo)外更新鍵值類似于刪除舊行后接著插入新行的操作。含有新值的行不可視,對含有舊值的行的提取操作將返回@@FETCH_STATUS值2。如果通過指定WHERECURRENTOF子句用游標(biāo)完成更新,則新值可視。lDYNAMIC:定義一個游標(biāo),以反
8、映在滾動游標(biāo)時對結(jié)果集內(nèi)的行所做的所有數(shù)據(jù)的更改。行的數(shù)據(jù)值、順序和成員在每次提取時都會更改。動態(tài)游標(biāo)不支持ABSOLUTE提取選項(xiàng)。lFAST_FWARD:指明一個FWARD_ONLY、READ_ONLY型游標(biāo)。lSCROLL_LOCKS:指定確保通過游標(biāo)完成的定位更新或定位刪除可以成功。將行讀入游標(biāo)以確保它們可用于以后的修改時,SQLServer會鎖定這些行。如果還指定了FAST_FWARD,則不能指定SCROLL_LOCKS。lO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游標(biāo)的使用
- 游標(biāo)的定義
- 操作游標(biāo)的標(biāo)準(zhǔn)步驟
- sql server游標(biāo)的使用
- oracle游標(biāo)的使用及屬性
- oracle游標(biāo)的使用及屬性
- db2中游標(biāo)的使用
- 第三章 游標(biāo)的定義和使用
- 新課標(biāo)的10個核心概念
- oracle游標(biāo)
- 游標(biāo)使用
- 小學(xué)數(shù)學(xué)新課標(biāo)的十大核心概念
- 游標(biāo).dwg
- sql 游標(biāo)
- 游標(biāo)編碼
- 游標(biāo).dwg
- 游標(biāo).dwg
- 小學(xué)數(shù)學(xué)新課標(biāo)的十大核心概念
- 小學(xué)數(shù)學(xué)新課標(biāo)的十大核心概念
- 游標(biāo)詳解
評論
0/150
提交評論