回覆列表
-
1 # toaer3649
-
2 # lanfengz2
SQL中的select語句,其查詢的結果,是返回滿足某個條件的屬性列的集合,如果我們要逐項使用返回的資料,比如說,想要把c哦11ege表的所有學院名字取出,逐項存放到某視窗的某dropdownlistbox的列表項中,僅僅用SQL所提供的增、刪、改、查操作,是實現不了的,這就需要用到資料庫遊標,使用資料庫遊標來實現逐項選取select語句返回的屬性列。
在資料庫中,遊標是一個十分重要的概念。遊標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,遊標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。遊標總是與一條SQL選擇語句相關聯因為遊標由結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的遊標位置組成。當決定對結果集進行處理時,必須宣告一個指向該結果集的遊標。如果曾經用C語言寫過對檔案進行處理的程式,那麼遊標就像您開啟檔案所得到的檔案控制代碼一樣,只要檔案開啟成功,該檔案控制代碼就可代表該檔案。對於遊標而言,其道理是相同的。可見遊標能夠實現按與傳統程式讀取平面檔案類似的方式處理來自基礎表的結果集,從而把表中資料以平面檔案的形式呈現給程式。我們知道關係資料庫管理系統實質是面向集合的,在MSSQLSERVER中並沒有一種描述表中單一記錄的表達形式,除非使用where子句來限制只有一條記錄被選中。因此我們必須藉助於遊標來進行面向單條記錄的資料處理。由此可見,遊標允許應用程式對查詢語句select返回的行結果集中每一行進行相同或不同的操作,而不是一次對整個結果集進行同一種操作;它還提供對基於遊標位置而對錶中資料進行刪除或更新的能力;而且,正是遊標把作為面向集合的資料庫管理系統和麵向行的程式設計兩者聯絡起來,使兩個資料處理方式能夠進行溝通。在資料庫開發過程中,當你檢索的資料只是一條記錄時,你所編寫的事務語句程式碼往往使用SELECTINSERT語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?遊標為我們提供了一種極為優秀的解決方案——那就是使用遊標。