程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 微軟SQL Server數據庫的兩種請求游標

微軟SQL Server數據庫的兩種請求游標

編輯:關於SqlServer
游標(cursor)是系統為用戶開設的一個數據緩沖區,存放SQL語句的執行結果。每個游標區都有一個名字。用戶可以用SQL語句逐一從游標中獲取記錄,並賦給主變量,交由主語言進一步處理。

  關系數據庫中的操作會對整個行集起作用。由 SELECT 語句返回的行集包括滿足該語句的 WHERE 子句中條件的所有行。這種由語句返回的完整行集稱為結果集。應用程序,特別是交互式聯機應用程序,並不總能將整個結果集作為一個單元來有效地處理。這些應用程序需要一種機制以便每次處理一行或一部分行。游標就是提供這種機制的對結果集的一種擴展。

游標通過以下方式來擴展結果處理:

  允許定位在結果集的特定行。

  從結果集的當前位置檢索一行或一部分行。

  支持對結果集中當前位置的行進行數據修改。

  為由其他用戶對顯示在結果集中的數據庫數據所做的更改提供不同級別的可見性支持。

  提供腳本、存儲過程和觸發器中用於訪問結果集中的數據的 Transact-SQL 語句。

  請求游標

  •   MicrosoftSQL Server 支持兩種請求游標的方法:
  •   Transact-SQL
  •   Transact-SQL 語言支持在 ISO 游標語法之後制定的用於使用游標的語法。
  •   數據庫應用程序編程接口(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、從游標中檢索您想要查看的行。從游標中檢索一行或一部分行的操作稱為提取。執行一系列提取操作以便向前或向後檢索行的操作稱為滾動。

  4、根據需要,對游標中當前位置的行執行修改操作(更新或刪除)。

  5、關閉游標。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved