三个重要的游标sp_cursoropen_MySQL
請問這三個存諸過程的作用是什么﹖
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