declare @sql varchar(1000)
set @sql = 'declare @ba numeric(12,2) select @ba=sum(ba) from t where k=''05'' select @ba'
exec(@sql)

解决方案 »

  1.   

    declare @sql varchar(1000)
    set @sql = 'declare @ba numeric(12,2) select @ba=sum(ba) from t where k=''05'' select @ba'
    exec(@sql)
      

  2.   

    参考:
    Create Procedure GetMaxID
    @TableName varchar(100), @ID int output
    as
    begin
    declare @sql nvarchar(1000)
    set @sql='select @ID = count(ID) from '+@TableName
    exec sp_executesql @sql,N'@id int output',@id output
    end
      

  3.   

    declare @sql nvarchar(1000),@a int
    set @sql='select @a=sum(ba) from t where k=''05'''exec sp_executesql @sql,N'@a int output',@a outputselect @a 结果
      

  4.   

    set @sql = 'select sum(ba) into @ba from t where k=''05'''