从动态查询中获取返回的值

时间:2013-05-11 10:17:21

标签: sql sql-server sql-server-2008

我试图从执行动态查询中获取值:

declare @query nvarchar(max)
, @returned_value nvarchar(50)

set @returned_value = 'not changed'

set @query = 'select 1000'

exec sp_executesql @query, N'@returned_value varchar(50) OUTPUT', @returned_value OUTPUT 
select @returned_value

然而,当我选择@returned_value时,我会继续得到它的初始值。

更确切地说:

enter image description here

如何保留返回值?发生了什么,我错过了什么?

1 个答案:

答案 0 :(得分:2)

您必须在查询中分配参数。替换:

set @query = 'select 1000'

使用:

set @query = 'select @returned_value = 1000'