bitscn.com
請問這三個存諸過程的作用是什么﹖
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 别人百度空间
bitscn.com