請問這三個存諸過程的作用是什麼﹖
sp_cursoropen,
sp_cursorfetch,
sp_cursorclose
API 服務器游標實現 SQL Server OLE DB 提供程序、
SQL Server ODBC 驅動程序和 DB-Library DLL 使用這些特殊的系統存儲過程向服務器示意游標操作。
sp_cursoropen 定義與游標和游標選項相關的 SQL 語句,然後生成游標。
sp_cursorfetch 從游標中提取一行或多行。
sp_cursorclose 關閉並釋放游標。
sp_cursoroption 設置各種游標選項。
sp_cursor 用於請求定位更新。
sp_cursorprepare 把與游標有關的 Transact-SQL 語句或批處理編譯成執行計劃,但並不創建游標。
sp_cursorexecute 從由 sp_cursorprepare 創建的執行計劃中創建並填充游標。
sp_cursorunprepare 廢棄由 sp_cursorprepare 生成的執行計劃。
這些系統存儲過程將在使用 API 服務器游標的 ADO、OLE DB、ODBC 和 DB-Library 應用程序的 SQL Server 事件探查器跟蹤中顯示。
這些記錄僅供 SQL Server OLE DB 提供程序、SQL Server ODBC 驅動程序和 DB-Library DLL 內部使用。
應用程序可通過數據庫 API 的游標功能來使用這些過程的完整功能。在應用程序中直接指定過程的做法不受支持。
當 SQL Server 在某連接上執行語句時,只有在來自第一個語句的所有結果處理完畢或被取消時,才能在連接上執行其它語句。
在使用 API 服務器游標時,這個規則仍然成立,但是從應用程序的角度來看,好象 SQL Server 在一個連接上已經開始支持多個活動語句。
這是因為完整的結果集存儲在服務器游標中,而僅有的傳遞給 SQL Server 的語句是對 sp_cursor 系統存儲過程的執行。
SQL Server 執行這些存儲過程,且一旦客戶端檢索該結果集,它就可以開始執行其它語句。
OLE DB 提供程序和 ODBC 驅動程序則在把控制返回給應用程序之前始終檢索來自 sp_cursor 存儲過程的所有結果集。
這使應用程序可以插空在多級活動服務器游標中進行提取操作。
--by 別人百度空間