0

我无法执行选择过程返回的动态 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”附近的语法不正确。请问有什么帮助吗?

4

1 回答 1

1

不要使用括号:

EXEC SP_EXECUTESQL @Query

如果我们正在做一个简单的,你会使用括号EXEC

EXEC(@Query)

但是,我也看不到这条线将如何产生正确的结果:

SET @ID = CONVERT(int, '[P:Field_ID]')

因为我看不到将字符串解释[P:Field_ID]为整数的合理方法。

于 2013-09-11T07:06:14.200 回答