set @sql='select @aa=max('+@column1+') from '+@table1
以后的你都会了吧!

解决方案 »

  1.   

    declare @fieldName varchar(100)
    declare @tabName varchar(500)
    declare @num int 
    set @fieldName = 'plan_id'
    set @tabName = 'tbl_plan'declare @sql nvarchar(200)
    set @sql = N'select @R='+'max('+@fieldName+') from '+@tabName
    execute sp_executesql @sql,N'@R int output',@num output
    select @num
      

  2.   

    declare @fieldName varchar(100)
    declare @tabName varchar(500)
    declare @num int 
    set @fieldName = 'plan_id'
    set @tabName = 'tbl_plan'declare @sql nvarchar(200)
    set @sql = N'select @R='+'max('+@fieldName+') from '+@tabName
    execute sp_executesql @sql,N'@R int output',@num output
    select @num
    但是,如果我想把@tabName放到execute sp_executesql @sql,N'@R int output',@num output这里来进去参数,那么@sql应该怎么写哟,我如下写了,但是有错
    declare @fieldName varchar(100)
    declare @tabName varchar(500)
    declare @num int 
    set @fieldName = 'plan_id'
    set @tabName = 'tbl_plan'declare @sql nvarchar(200)
    set @sql = N'select @R='+'max('+@fieldName+') from @t'
    execute sp_executesql @sql,N'@R int output,@t',@num output,@tabName
    select @num