可以将结果插入到临时表再赋给变量
SET @strSQL = 'SELECT COUNT(*) AS Total FROM [' + @表名变量 + ']'
create table #t(total int)
insert into #t exec (@strSQL)
select @total = total from #t
DECLARE @strSQL NVARCHAR(1000),@COUNT INT,@TAB NVARCHAR(100)
SET @TAB = N'表名'
SET @strSQL = N'SELECT COUNT(*) AS Total FROM [' + @TAB + ']'
EXEC SP_EXECUTESQL @strSQL,N'@COUNT INT OUT',@COUNT OUT
SELECT @COUNT