请问一个关于游标中动态SQL的有关问题
请教一个关于游标中动态SQL的问题?
------解决方案--------------------
不能这样做的.
动态执行的内容,与当前程序不在同一个连接中,你在动态定义的游标,是无法到当前过程中去调用的.
如果 abc 中的列不是很多,你可以考虑用 if else 结构来处理.
其实游标的功能很多情况下都可以用其他语句来实现的.
- SQL code
create procedure test @fld varchar(100) as declare @sql nvarchar(500) set @sql='declare xyz cursor fast_forward for select ' + @fld + ' from abc' exec sp_executesql @sql open xyz fetch next from xyz into ....(@fld是所要查询的列的字符串,是未知个数的,这里应该怎么写呢?)... ............ ......
------解决方案--------------------
不能这样做的.
动态执行的内容,与当前程序不在同一个连接中,你在动态定义的游标,是无法到当前过程中去调用的.
如果 abc 中的列不是很多,你可以考虑用 if else 结构来处理.
其实游标的功能很多情况下都可以用其他语句来实现的.