CREATE PROCEDURE SelectMax
 @max int output,
 @tixing varchar(50)
 AS
set @max=select max(题号) from @tixing(这里该怎么写才是正确的)
return @max
GO

解决方案 »

  1.   

    CREATE PROCEDURE SelectMax
     @max int output,
     @tixing varchar(50)
     AS
    exec('select max(题号) as ret into t from '+@tixing)
    select @max = ret from t
    drop table t
    return @max
      

  2.   

    set @max=select max(题号) from @tixing
    select @max = max(题号) from @tixing
      

  3.   

    CREATE PROCEDURE SelectMax
     @max int output,
     @tixing varchar(50)
     AS
     exec('select @max=max(题号) from '+@tixing)
     return @max
    GO
      

  4.   

    alter PROCEDURE SelectMax
     @max int output,
     @tixing varchar(50)
    ASdeclare @sql Nvarchar(1000)
    set @sql=N'select @max=max(题号) from ['+@tixing+']'
    exec sp_executesql @sql,N'@max int output',@max output
    GO
      

  5.   

    调用:
    declare @max int
    exec SelectMax @max output,'表名'
    select @max