declare @s varchar(8000)
set @s='declare ActResultSet cursor global for select top 5 ActNum, Payment, PasvNum, DealTime from (select top '+cast(@_iAccount as varchar)+' ActNum, Payment, PasvNum, DealTime FROM DealHis where ActNum=@UserNum order by DealTime desc) b order by DealTime'
exec(@s)

解决方案 »

  1.   

    declare @cmd varchar(8000)set @cmd = 'select top 5 ActNum, Payment, PasvNum, DealTime into ##tmp from (select top ' + cast( @_iAccount as varchar ) + ' ActNum, Payment, PasvNum, DealTime FROM DealHis where ActNum=' + cast( @UserNum as varchar ) + 'order by DealTime desc) b order by DealTime'exec( @cmd )declare ActResultSet cursor local for select ActNum, Payment, PasvNum, DealTime from ##tmp order by dealtimeopen ...
    close ...
    deallocate ...drop table ##tmp
      

  2.   

    多谢zjcxc(邹建) & zarge(鲨猩)  
    请问
    作用域为Global的游标在什么时候释放。