-
服務器遊標
鎖定
遊標,提供了一種對從表中,檢索出的數據進行操作的靈活手段,實際上是一種能從包括多條數據記錄的結果,集中每次提取一條記錄的機制。
- 中文名
- 服務器遊標
- 基本介紹
- 將應用程序提取的行發送到客户端
- 生成方式
- 把數據以文件的形式呈現給程序
- 遊標種類
- API 服務器遊標和客户遊標
服務器遊標基本介紹
遊標本身在服務器上生成,且只將應用程序提取的行發送到客户端。
服務器遊標生成方式
數據庫中,遊標是一個十分重要的概念。
遊標提供了一種對從表中檢索出的數據進行操作的靈活手段,就本質而言,遊標實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。
遊標總是與一條SQL 選擇語句相關聯因為遊標由結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的遊標位置組成。
我們知道關係數據庫管理系統實質是面向集合的,在MS SQL SERVER 中並沒有一種描述表中單一記錄的表達形式,除非使用where 子句來限制只有一條記錄被選中。因此,我們必須藉助於遊標來進行面向單條記錄的數據處理。
由此可見,遊標允許應用程序對查詢語句select 返回的行結果集中每一行進行相同或不同的操作,而不是一次對整個結果集進行同一種操作;它還提供對基於遊標位置而對錶中數據進行刪除或更新的能力;而且,正是遊標把作為面向集合的數據庫管理系統和麪向行的程序設計兩者聯繫起來,使兩個數據處理方式能夠進行溝通。
服務器遊標遊標種類
MS SQL SERVER 支持三種類型的遊標:Transact_SQL 遊標,API 服務器遊標和客户遊標。
Transact_SQL 遊標
Transact_SQL 遊標,不支持提取數據塊或多行數據。
API 遊標
API 遊標支持在OLE DB, ODBC 以及DB_library 中使用遊標函數,主要用在服務器上。
每一次客户端應用程序調用API 遊標函數,MS SQL SEVER 的OLE DB 提供者、ODBC驅動器或DB_library 的動態鏈接庫(DLL) 都會將這些客户請求傳送給服務器以對API遊標進行處理。
客户遊標
由於服務器遊標並不支持所有的Transact-SQL 語句或批處理,所以客户遊標常常僅被用作服務器遊標的輔助。因為在一般情況下,服務器遊標能支持絕大多數的遊標操作。
由於API 遊標和Transact-SQL 遊標使用在服務器端,所以被稱為服務器遊標,也被稱為後台遊標,而客户端遊標被稱為前台遊標。
在本章中我們主要講述服務器(後台)遊標。