

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本章前半部分提供了在MSSQLSERVER中應用游標所應具有的有關游標的必要知識和各種語法。從中讀者可以了解游標的優(yōu)點、種類、作用、學會如何定義、打開、存取、關閉、釋放游標以及游標的應用。除此之外,在本章的后半部分我們介紹了視圖和用戶自定義函數,使讀者了解視圖的眾多優(yōu)點,比如簡化操作、提高數據安全性;了解如何創(chuàng)建、管理視圖和用戶自定義函數;了解如何在存儲過程和批處理中調用用戶自定義函數等諸多問題。在數據庫開發(fā)過程中,當你檢索的數據只是一
2、條記錄時,你所編寫的事務語句代碼往往使用語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那么如何解決這種問題呢?游標為我們提供了一種極為優(yōu)秀的解決方案。13.1.1游標和游標的優(yōu)點在數據庫中,游標是一個十分重要的概念。游標提供了一種對從表中檢索出的數據進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。游標總是與一條T_SQL選擇語句相關聯(lián)因為游標由結果集(可以是零
3、條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的游標位置組成。當決定對結果集進行處理時,必須聲明一個指向該結果集的游標。如果曾經用C語言寫過對文件進行處理的程序,那么游標就像您打開文件所得到的文件句柄一樣,只要文件打開成功,該文件句柄就可代表該文件。對于游標而言,其道理是相同的??梢娪螛四軌驅崿F(xiàn)按與傳統(tǒng)程序讀取平面文件類似的方式處理來自基礎表的結果集,從而把表中數據以平面文件的形式呈現(xiàn)給程序。我們知道關系數據庫管理系
4、統(tǒng)實質是面向集合的,在MSSQLSERVER中并沒有一種描述表中單一記錄的表達形式,除非使用where子句來限制只有一條記錄被選中。因此我們必須借助于游標來進行面向單條記錄的數據處理。由此可見,游標允許應用程序對查詢語句返回的行結果集中每一行進行相同或不同的操作,而不是一次對整個結果集進行同一種操作;它還提供對基于游標位置而對表中數據進行刪除或更新的能力;而且,正是游標把作為面向集合的數據庫管理系統(tǒng)和面向行的程序設計兩者聯(lián)系起來,使兩個
5、數據處理方式能夠進行溝通。2.OPEN游標3.從一個游標中FETCH信息4.CLOSE或DEALLOCATE游標通常我們使用DECLARE來聲明一個游標聲明一個游標主要包括以下主要內容:游標名字數據來源(表和列)選取條件屬性(僅讀或可修改)其語法格式如下:DECLAREcurs_name[INSENSITIVE][SCROLL]CURSF_statement[FREADONLY|UPDATE[OFcolumn_name[...n]]]其
6、中:curs_name指游標的名字。INSENSITIVE表明MSSQLSERVER會將游標定義所選取出來的數據記錄存放在一臨時表內(建立在tempdb數據庫下)。對該游標的讀取操作皆由臨時表來應答。因此,對基本表的修改并不影響游標提取的數據,即游標不會隨著基本表內容的改變而改變,同時也無法通過游標來更新基本表。如果不使用該保留字,那么對基本表的更新、刪除都會反映到游標中。另外應該指出,當遇到以下情況發(fā)生時,游標將自動設定INSENSI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論