0
を構文アラートを引くにdymanic SQLストアドプロシージャの結果を実行:は私が声明を移入し、それを実行するために、動的SQLを使用しようとしています他の行に
DECLARE @ENTY_ID INT;
DECLARE @FIELD_ID INT;
DECLARE @VALUE NVARCHAR(50);
DECLARE @ENTY_TABLE_NAME NVARCHAR(500);
DECLARE @SQL NVARCHAR(MAX);
SET @ENTY_ID = 1;
SET @FIELD_ID = 90;
SET @VALUE = '0';
SET @ENTY_TABLE_NAME =
(SELECT TOP 1 ENTY_TABLE_NAME
FROM ENTY
WHERE [email protected]_ID);
SET @SQL = '
SELECT DISTINCT ATTR_VAL
FROM @ENTY_TABLE_NAME
WHERE FIELD_ID = @FIELD_ID AND ATTR_VAL LIKE %@VALUE%
ORDER BY ATTR_VAL';
SET @SQL = replace(@SQL, '@ENTY_TABLE_NAME', @ENTY_TABLE_NAME + '_ATTR');
SET @SQL = replace(@SQL, '@FIELD_ID', @FIELD_ID);
SET @SQL = replace(@SQL, '@VALUE', @VALUE);
EXEC SP_EXECUTESQL @SQL;
私は最後のEXECを除くすべての行を実行すると、コマンドは正常に完了します。
私はすべて一緒にそれを実行すると、私が手:
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near '0'.
私は、構文の問題が呼ばれているか表示されません。 @SQL変数でクエリを実行するにはどうすればよいですか?
は、あなたが 'SELECT'それが構築されものを見るために' @のSQL'変数を喜ばせることはできますか? – Siyual