0

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」付近の構文が正しくないというエラーが表示されます。何か助けてください。

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 に答える