我无法执行select过程返回的动态sql。 以下是我的代码示例:
DECLARE
@ID int
, @Query nvarchar(max)
SET @ID = CONVERT(int, '[P:Field_ID]')
SET @Query =
(
SELECT
FF.[External_Source_Query]
FROM WF_Form_Field FF
LEFT JOIN WF_Field F ON
FF.[Field_ID] = F.[ID]
WHERE
FF.[External_Source_Query] IS NOT NULL
AND F.[ID] = @ID
)
EXEC SP_EXECUTESQL(@Query)
我收到一条错误,说“@Query”附近的语法不正确。 有什么帮助吗?
答案 0 :(得分:1)
不要使用括号:
EXEC SP_EXECUTESQL @Query
如果我们正在做一个简单的EXEC
:
EXEC(@Query)
但是,我也没有看到这条线如何产生正确的结果:
SET @ID = CONVERT(int, '[P:Field_ID]')
因为我看不到将字符串[P:Field_ID]
解释为整数的合理方法。