首页 > 解决方案 > 将动态sql的结果赋值给变量

问题描述

我想要做的是在变量@statement 中获取查询的“值结果”。

代码如下所示:

declare @ID int, @name varchar (200), @statement varchar (200)

set @ID = 25
set @name = 'select FirstName + '' '' + LastName as ''Full Name''
             from person.person  
             where BusinessEntityID = ' + cast (@ID as varchar)'
set @statement = 'My name is @name'

我想显示来自@statement 的结果,我知道我应该使用sp_executesql 来执行我的@name 查询,并输出它@statement,但我不知道该怎么做。

任何想法,谢谢!

标签: sqlsql-servervariablesdynamic

解决方案


有点困惑。无需动态 SQL

例子

declare @ID int, @name varchar (200)
set @id=25

set @name = 'My name is ' + (select FirstName + ' ' + LastName 
                               from person.person  
                               where BusinessEntityID = @ID
                             )

推荐阅读