我有这个SQL语句,无法找到错误
Execute sp_executesql
N' UPDATE tblFI01_Auftraege
SET @WerteListe
WHERE Auftrag_id = @Auftrag_ID'
,N'@WerteListe varchar(max), @Auftrag_ID int'
,@WerteListe= N'Datum_geaendert = GetDate()', @Auftrag_ID = 12;
错误说:
WHERE关键字附近的语法错误 我已经阅读了sp_executesql的说明,但无法找到错误。
任何帮助?
答案 0 :(得分:0)
在SET子句中,你应该有column = value,在你的情况下,你只有@WerteListe的值,而是你应该有一个来自tblFI01_Auftraege = @WerteListe的列。 TSQL Update syntax
答案 1 :(得分:0)
最好是在变量中形成动态查询,以便在执行
之前检查它select @WerteListe= N'Datum_geaendert = GetDate()'
select @sql = N' UPDATE tblFI01_Auftraege
SET ' + @WerteListe + '
WHERE Auftrag_id = @Auftrag_ID'
print @sql -- print out for your verification
Execute sp_executesql
@sql
, N'Auftrag_ID int'
, @Auftrag_ID = 12;