declare @sql nvarchar(4000)declare @ID nvarchar(50)
declare @tb nvarchar(50)
set @tb = 'sing'
set @ID = 'singID'
set @sql='select count('+@id+') as counts from '+ @tb
exec(@sql)

解决方案 »

  1.   

    --是想返回记录数?
    declare @sql nvarchar(4000),@ID int,@tb nvarchar(50)
    set @tb='sing'
    set @sql='select '+' @id=count(*) from  '+@tb
    exec sp_executesql @sql,N'@id int out ',@id out
    select @id
      

  2.   

    create proc up_myName
     @ID nvarchar(50),
     @tb nvarchar(50),
     @Values Int out
    as
     declare @sql nvarchar(4000)
     set @sql='select @values=Count('+@id+') as counts from '+ @tb
     execute sp_executesql @sql,'@values int out',@values out
    ----------
    调用:declare @Return int
    exec up_myName N'sing',N'singID',@Return out
    select @Return