我的本意是这样的.在存储过程中...Declare @Count int
Decalre @ReturnID intSet @Count = nSet @RetrunID = (Select top @Count ID from tb)
意图是根据参数取第n条的信息现在知道没有@ReturnID时候可以
Exec ('Select top '+@Count +' ID from tb')之类的来用..
可以要有@ReturnID怎么处理呢?
Exec ('Select top '+@Count +' @ReturnID=ID from tb')
这样会说@ReturnID没定义..
请大家帮忙拉..非常感谢.

解决方案 »

  1.   

    你是否想返回.输出了.多少行.要是那样的话.要使用OUTPUT参数.
      

  2.   

    想首先得到第n行的ID号..才可以处理不是..呵呵
      

  3.   

    取第n行Select top @Count ID from tb where tb.ID NOT IN Select top (@Count-1) ID from tb本意是这样的,大家看看有什么办法解决...谢拉
      

  4.   


    --这样?
    Declare @Count int 
    Declare @ReturnID int
    declare @sql nvarchar(500) 
    Set @Count = n --这里的n换成你具体的值
    set @sql='select top '+ltrim(@count)+' @rid=id from tb'
    exec sp_executesql @sql,N'@rid int output',@returnid output
    select @returnid
      

  5.   


    --那就:
    declare @sql varchar(500)
    set @sql='Select top '+ltrim(@Count)+' ID from tb where ID NOT IN (Select top '+ltrim(@Count-1)+' ID from tb)'
    exec(@sql)
      

  6.   

    Ok..解决
    pt1314917实现功能..谢拉!!