--1种
--省略
@total int output,
--省略
declare @sql nvarchar(1000)
set @sql = 'select @total =count(1)
from ImgStore
where iss_id = '+@iss_id+''
exec sp_executesql @sql,N'@total int output',@total output
--2种
declare @sql nvarchar(1000)
set @sql = 'select count(1) as num
from ImgStore
where iss_id = '+@iss_id+''
declare @sqlexe
set @sqlexe = 'with tmp as ('+ @sql +')
select @total = num  from tmp '
exec sp_executesql @sqlexe,N'@total int output',@total output第一种就不能运行,而第二种就可以正常运行,这是为什么?