exec ('SELECT TOP '+@wROWS+' *
       FROM  TB_EXPERT 
       order by EXPENAME ')

解决方案 »

  1.   

    exec('SELECT TOP ' +@wROWS + ' * FROM  TB_EXPERT order by EXPENAME ')
      

  2.   

    DECLARE @wCOUNT INT,
              @wROWS INT
        SELECT @wCOUNT = COUNT(*)
        FROM  TB_EXPERT
        SELECT @wROWS=@wCOUNT%12
         print @wROWS
        exec('SELECT TOP ' + @wROWS  + ' *
           FROM  TB_EXPERT 
           order by EXPENAME ')
      

  3.   

    DECLARE @wCOUNT INT,
              @wROWS INT,@a varchar(1000)SELECT @wCOUNT = COUNT(*)
        FROM  TB_EXPERT
        SELECT @wROWS=@wCOUNT%12
         print @wROWS
    set @a='SELECT TOP '+cast(@wROWS as varchar(10))+' *
           FROM  TB_EXPERT 
           order by EXPENAME 'exec(@a)
      

  4.   

    不能直接跟,可以用:DECLARE @wCOUNT INT,
              @wROWS INT
    SELECT @wCOUNT = COUNT(*)
        FROM  TB_EXPERT
        SELECT @wROWS=@wCOUNT%12
         print @wROWS
    exec('SELECT TOP '+cast(@wROWS as varchar)+' *
           FROM  TB_EXPERT 
           order by EXPENAME ')
      

  5.   

    使用变量,但是得使用如下方法exec('SELECT TOP ' +@wROWS + ' * FROM  TB_EXPERT order by EXPENAME ')