declare @aa int
select @aa = 20
set rowcount @aa
select * from table
set rowcount 0

解决方案 »

  1.   

    exec('select top '+ @aa+' from table');
      

  2.   

    top /字段名/表名 这些都不能用变量的.
      

  3.   

    exec('select top '+ @aa+' * from table');
      

  4.   

    写错了,因该是
    declare  @aa  int  
    select  @aa  =  20  
    select  top  @aa * from  table  
    因为@aa是随时变的,有什么实现的办法
      

  5.   

    exec('select top '+ str(@aa)+' * from table');
      

  6.   

    declare @aa int
    select @aa = 20
    exec('select top ' +@aa+ ' * from table')
      

  7.   

    zjcxc(邹建) ( )已经给出方法了啊!
      

  8.   

    top后面不能跟变量,要跟确定的数值,用下面的方法一样效果:declare @aa int
    select @aa = 20
    set rowcount @aa
    select * from table_name
      

  9.   

    没看到有人给出答案了,不好意思。上面同学给出的这个答案:declare @aa int
    select @aa = 20
    exec('select top ' +@aa+ ' * from table')
    也是可行的。