0
我的动态SQL查询已放置在一个表内。我想从表中读取这些数据(在SQL服务器中),执行参数替换,然后执行动态查询。我想使用查询的输出作为动态SQL
即列GetFieldServerSQL
包含以下内容:
SELECT top 1 Tenancy.LeadName
FROM Tenancy
RIGHT OUTER JOIN Property ON Tenancy.KeyProperty = Property.KeyProperty
WHERE (Tenancy.EndDate IS NULL) and Property.KeyProperty = @PropertyID
这是我曾尝试:
declare @sql nvarchar(1000)
declare @sql2 nvarchar(1000)
declare @res nvarchar(1000)
declare @result nvarchar(1000)
set @sql = 'SELECT [GetFieldServerSQL]
FROM [SVSCentral].[dbo].[SVSSurvey_ExternalField] where ID=5'
exec @res = sys.sp_executesql @sql
print @res
这将返回我在结果窗口查询,但我想它作为一个变量。 @res
只包含0(成功)
一旦我把它作为一个变量,我想做一个替代。喜欢的东西:
set @sql2 = REPLACE(@result,'@propertyID','1003443')
(假设@result
是我的结果保存)
,然后执行:
exec (@sql2)
太棒了。谢谢。 – 2015-02-09 11:03:13