微軟SQL Server資料庫的兩種請求游標

2022-07-30 17:27:11 字數 1335 閱讀 1781

游標(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.關閉游標。

原文出自:華軍資訊

SQL server自帶的資料庫

select name from sysdatabases 在master資料庫下查詢 前六個是系統自帶的資料庫 master 記錄了系統級別的資訊,包含所有的登陸資訊,系統設定資訊,初始化資訊等 不可以刪除 tempdb 臨時資料庫,儲存臨時表和臨時儲存過程以及儲存空間的要求 model 為使用者...

資料庫的查詢 SQL Server

1 為表起別名as select from classinfo as ui查詢全部列 指定列 為列起別名as select ui.cid from classinfo ui2 查詢前n部分資料 top n 列名 表示檢視前n行 select top3 from classinfo 查詢前三行所有列t...

SQL Server資料庫的建立

說到建立資料庫就必須先要了解一下資料庫的組成部分 資料庫的組成 資料庫 資料庫檔案 日誌檔案 每個資料庫有且只能有乙個主資料檔案 mdf 可以擁有任意個次資料檔案 ndf 至少有乙個日誌檔案 ldf 建立資料庫可以通過企業管理器來建立,也可以通過查詢分析器來建立 在sql語言中注釋使用 sql 不區...