資料指標 (Database Engine)

關聯式資料庫中的作業是作用在完整的資料列集。由 SELECT 陳述式所傳回的資料列集包括所有滿足陳述式 WHERE 子句之條件的資料列。由陳述式傳回的完整資料列稱為結果集。應用程式 (尤其是互動式線上應用程式) 不一定能夠以一個單位有效地運用整個結果集。這些應用程式需要一個機制,一次運用一個資料列或小型資料列區塊。資料指標就是一種結果集的擴充,提供此種機制。

資料指標擴充結果處理的方式是:

  • 允許定位於結果集中的特定資料列。
  • 從結果集的目前位置,擷取一個資料列或資料列區塊。
  • 支援結果集目前位置上資料列的資料修改。
  • 支援以不同可見性層級來檢視其他使用者對結果集所呈現的資料庫資料所作的變更。
  • 讓指令碼、預存程序和觸發程序中的 Transact-SQL 陳述式能夠存取結果集中的資料。

要求資料指標

Microsoft SQL Server 2005 支援兩種要求資料指標的方法:

  • Transact-SQL
    Transact-SQL 語言支援使用 SQL-92 以後版本的資料指標語法。
  • 資料庫應用程式發展介面 (API) 資料指標函數
    SQL Server 支援以下資料庫 API 的資料指標功能:
    • ADO (Microsoft ActiveX 資料物件)
    • OLE DB
    • ODBC (開放式資料庫連接)

應用程式不應將兩種要求資料指標的方法混合。使用 API 指定資料指標行為的應用程式也不應執行 Transact-SQL DECLARE CURSOR 陳述式來要求 Transact-SQL 資料指標。如果應用程式已將所有 API 資料指標屬性設回其預設值,只應執行 DECLARE CURSOR。

如果沒有要求 Transact-SQL 或 API 資料指標,SQL Server 預設會傳回完整的結果集 (亦即預設結果集) 給應用程式。

資料指標處理過程

Transact-SQL 資料指標和 API 資料指標具有不同的語法,但是下列一般處理過程適用於所有的 SQL Server 資料指標:

  1. 使資料指標與 Transact-SQL 陳述式的結果集建立關聯,並定義資料指標的特性,例如可否更新資料指標中的資料列。
  2. 執行 Transact-SQL 陳述式,以填入資料指標。
  3. 擷取資料指標中您要檢視的資料列。從資料指標擷取一個資料列或資料列區塊的作業稱為擷取 (Fetch)。以順向 (Forward) 或逆向 (Backward) 擷取資料列的一系列擷取作業,稱為捲動 (Scroll)。
  4. 選擇性地在資料指標目前位置上的資料列執行修改作業 (更新或刪除)。
  5. 關閉資料指標。

請參閱

概念

資料指標類型 (Database Engine)
關於選擇資料指標類型

其他資源

DECLARE CURSOR (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助