这个问题下午困扰了好久,最后有幸得到一朋友的指点,算是搞定了。。。
DECLARE @SQLS NVARCHAR(4000) --拼接sql语句
set @SQLS = 'select top '+cast(@TOP as nvarchar(10))+' a,b from …………'
set @SQLS='declare daoru cursor for '+@SQLS
execute(@SQLS)
open daoru
fetch next from daoru into @a,@b
…………
--后面的游标写法都是很正常的。
--区别就在于 declare daoru cursor 提取出来拼接到 动态语句里面而已。下面open开始都不用拼的