【发布时间】:2019-06-14 12:37:11
【问题描述】:
我从 Superbase“Dailylog2”创建了一个 SQL db 文件,然后打开该文件,基本上我正在尝试更新表 dbo.SX_Tom_Table 中的行,但出现错误。
UPDATE [SX_Tom_db].[dbo].[SX_Tom_Table]
SET [AI_Field] = Dailylog2.dl_doc_fax
FROM Dailylog2
WHERE
CONVERT(varchar(10), Dailylog2.dl_dos, 101) = CONVERT(varchar(10), 'May/20/2010', 101)
AND dl_chart = 912
LIMIT 1
我得到错误:
消息 102,级别 15,状态 1,第 7 行 'LIMIT' 附近的语法不正确。
如果我删除了LIMIT 1,那么它可以工作,但它会更新所有行。我只想更新 WHERE 选择的行
【问题讨论】:
-
您使用的是哪个 dbms? (该代码是特定于产品的。)
-
你能分享错误信息吗?如果您使用该 WHERE 子句运行简单的 SELECT *,您会得到要更新的特定行还是所有行?
-
select * FROM Dailylog2 WHERE CONVERT(varchar(10), Dailylog2.dl_dos, 101) = CONVERT(varchar(10), 'May/20/2010', 101) AND dl_chart = 912 工作正常并找到具有 WHERE 条件的 3 条记录
-
如果我使用此代码:UPDATE [SX_Tom_db].[dbo].[SX_Tom_Table] SET [AI_Field] = Dailylog2.dl_doc_fax FROM Dailylog2 WHERE CONVERT(varchar(10), Dailylog2.dl_dos, 101) = CONVERT(varchar(10), 'May/20/2010', 101) AND dl_chart = 912 LIMIT 1
-
我收到错误消息:Msg 102, Level 15, State 1, Line 7 'LIMIT' 附近的语法不正确。
标签: sql-server tsql sql-update