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

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論