令人困惑的语法错误(FROM 语句)

Confusing Syntax Error (FROM statement)

我正在尝试将 table 1 的日期列更新为未来的日期,也就是所谓的停用日期。我在 FROM 语句下遇到语法错误。除了

之外,我没有得到其他信息

INCORRECT SYNTAX NEAR 'FROM'.

UPDATE [database1].[dbo].[table1]
SET [database1].[dbo].[table1].[datecolumn1] = '9999-12-31 00:00:00.000'
WHERE [database1].[dbo].[table1].[END_DATE] > GETDATE() 
FROM [database1].[dbo].[table1] 
INNER JOIN [database2].[dbo].[table2] ON [database1].[dbo].[table1].[namecolumn1] = [database2].[dbo].[table2].[namecolumn2]
GO

你的 WHERE 子句应该在 FROM :

之后
UPDATE [database1].[dbo].[table1]
SET [database1].[dbo].[table1].[datecolumn1] = '9999-12-31 00:00:00.000'
FROM [database1].[dbo].[table1] 
INNER JOIN [database2].[dbo].[table2] ON [database1].[dbo].[table1].[namecolumn1]=[database2].[dbo].[table2].[namecolumn2]
WHERE [database1].[dbo].[table1].[END_DATE] > GETDATE() 
GO

where 子句应该放在最后。此外,您在单词 "innner" 中有错字(应该是 "inner" - 或者更好,完全删除它):

UPDATE [database1].[dbo].[table1]
SET    [database1].[dbo].[table1].[datecolumn1] = '9999-12-31 00:00:00.000'
FROM   [database1].[dbo].[table1] 
JOIN   [database2].[dbo].[table2] ON 
       [database1].[dbo].[table1].[namecolumn1] = 
       [database2].[dbo].[table2].[namecolumn2]
WHERE  [database1].[dbo].[table1].[END_DATE] > GETDATE()