游标问题,,来者有分
那位弟兄知道 ,,在SQL过程中怎么把exec结果放到游标中去,,
先谢谢了
exec( 'select top '+@topNum+ ' magId from [mag_detail] '+@where)
把这句的执行结果放到游标中
谢谢了
就好像样(执行不过去)
declare MyCURSOR CURSOR
LOCAL SCROLL SCROLL_LOCKS
for exec( 'select top '+@topNum+ ' magId from [mag_detail] '+@where)
------解决方案--------------------用动态游标可以解决问题
可惜我很久没用忘了,简单点说就是不会
所以我只能说一个比较苯的方法
declare @tmp_table table(magId int) -- 自己定义一个表变量放结果,还要什么字段自己加
insert into @tmp_table exec( 'select top '+@topNum+ ' magId from [mag_detail] '+@where) --将动态语句返回的结果集放进表变量
declare MyCURSOR CURSOR
LOCAL SCROLL SCROLL_LOCKS
for @tmp_table
...
期待LX能给个动态游标出来,我也复习复习功课
------解决方案--------------------insert into @tmp_table exec( 'select top '+@topNum+ ' magId from [mag_detail] '+@where) --将动态语句返回的结果集放进表变量
---------------------------------
动态语句返回的结果集是不能放进表变量的
------解决方案--------------------这样处理:
exec( '
declare MyCURSOR CURSOR
LOCAL SCROLL SCROLL_LOCKS
select top '+@topNum+ ' magId from [mag_detail] '+@where+
'... '
)