如何获得Exec执行得到的结果

用Exec可以执行动态SQL语句
比如 Exce('Select Count(Name) Form MyTable')
可以执行语句 Select Count(Name) From MyTable,
但问题是我想在T-SQL中得到该语句返回的count(Name)并付给一个变量,
该如何做?
---------------------------------------------------------------

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

Create Procedure GetMaxID
@count output
as
begin
declare @sql nvarchar(1000)
set @sql='select @count=count(Name) from MyTable'
exec sp_executesql @sql,N'@count int output',@count output
end

---------------------------------------------------------------

借楼主的地方问一下,N'@count int output'是什么意思?exec sp_executesql @sql,N'@count int output',@count output这个句子又是什么意思?
---------------------------------------------------------------

exec sp_executesql @sql,N'@count int output',@count output
-------------------^^^要执行的sql串
exec sp_executesql @sql,N'@count int output',@count output
------------------------^^^^^^^^^^^^^^^^^^^^设置sql串中的参数
exec sp_executesql @sql,N'@count int output',@count output
---------------------------------------------^^^^^^^^^^^^获得输出值
看看帮助吧!

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus