通过sp_executesql执行动态sql获取返回值

MSSQL写分页存储过程时,使用的动态SQL,找了些例子看看。发现查询总的数据量是使用的单独的一张表返回的,其实就一个数字,作为存储过程返回值就好了。自己写了写,使用sp_executesql执行sql,返回值显示0,网上好多长篇大论,终于找到一个简洁的答案。。。

declare @Count int
exec sp_executesql N'select @x=count(0) from talbe1' ,N'@x int output',@x=@Count output
print @Count