sp_cursorprepexec (Transact-SQL)
为提交的游标语句或批处理编译计划,然后创建并填充游标。 sp_cursorprepexec 结合了 sp_cursorprepare 和 sp_cursorexecute 的功能。 此过程通过在表格格式数据流 (TDS) 包中指定 ID = 5 来调用。
语法
sp_cursorprepexec prepared handle OUTPUT, cursor OUTPUT, params , statement , options
[ , scrollopt [ , ccopt [ , rowcount ] ] ]
参数
prepared handle
是 SQL Server 生成的已准备的“句柄”标识符。 prepared handle 是必需的,它返回 int。cursor
是 SQL Server 生成的游标标识符。 cursor 是一个必需参数,必须对所有对此游标执行操作的后续过程 sp_cursorfetch.params
标识参数化语句。 变量的 params 定义替换为语句中的参数标记。 params 是一个必需参数,它需要 ntext、nchar 或nvarchar 输入值。注意 当 stmt 已参数化且 scrollopt PARAMETERIZED_STMT 值为 ON 时,使用 ntext 字符串作为输入值。
statement
定义游标结果集。 statement 参数是必需的,它需要 ntext、nchar 或 nvarchar 输入值。注意 用于指定 stmt 值的规则与用于 sp_cursoropen 的规则相同,但例外是 stmt 字符串数据类型必须为 ntext。
options
一个可选参数,它返回游标结果集列的说明。 options 需要以下 int 输入值。值
说明
0x0001
RETURN_METADATA
scrollopt
滚动选项。 scrollopt 是一个可选参数,它需要以下 int 输入值之一。值
说明
0x0001
KEYSET
0x0002
DYNAMIC
0x0004
FORWARD_ONLY
0x0008
STATIC
0x10
FAST_FORWARD
0x1000
PARAMETERIZED_STMT
0x2000
AUTO_FETCH
0x4000
AUTO_CLOSE
0x8000
CHECK_ACCEPTED_TYPES
0x10000
KEYSET_ACCEPTABLE
0x20000
DYNAMIC_ACCEPTABLE
0x40000
FORWARD_ONLY_ACCEPTABLE
0x80000
STATIC_ACCEPTABLE
0x100000
FAST_FORWARD_ACCEPTABLE
因为所请求的选项可能不适合由 <stmt> 定义的游标,所以,此参数可同时用作输入和输出。 在此类情况下,SQL Server 分配一个适当的类型并修改此值。
ccopt
并发控制选项。 ccopt 是一个可选参数,它需要以下 int 输入值之一。值
说明
0x0001
READ_ONLY
0x0002
SCROLL_LOCKS(以前称为 LOCKCC)
0x0004
OPTIMISTIC(以前称为 OPTCC)
0x0008
OPTIMISTIC(以前称为 OPTCCVAL)
0x2000
ALLOW_DIRECT
0x4000
UPDT_IN_PLACE
0x8000
CHECK_ACCEPTED_OPTS
0x10000
READ_ONLY_ACCEPTABLE
0x20000
SCROLL_LOCKS_ACCEPTABLE
0x40000
OPTIMISTIC_ACCEPTABLE
0x80000
OPTIMISITC_ACCEPTABLE
借助于 scrollpt,SQL Server 可能分配与所请求的值不同的其他值。
rowcount
一个可选参数,指示要用于 AUTO_FETCH 的提取缓冲区行数。 默认值为 20 行。 当作为输入值与返回值赋值时,rowcount 的行为有所不同。作为输入值
作为返回值
当使用 FAST_FORWARD 游标指定 AUTO_FETCH 时,rowcount 表示要放入提取缓冲区中的行数。
表示结果集中的行数。 当指定了 scrollopt AUTO_FETCH 值时,rowcount 返回提取到提取缓冲区中的行数。
返回代码值
如果 params 返回 NULL 值,则语句未参数化。
请参阅
参考
sp_cursorexecute (Transact-SQL)