【发布时间】:2022-01-03 15:01:43
【问题描述】:
UPDATE A
SET foo = 'bar',
car = 'bmw'
FROM TableA A
JOIN TableB B
ON A.col1 = B.colx
AND A.STATUS = B.STATUS
WHERE A.nbr = '1234'
and A.STATUS IN (K,Y)
and A.FILE_TYPE = 'R'
我正在尝试使用上面的更新功能,但是当我尝试运行它时,我不断收到错误,它没有正确结束。谁能告诉我语法错误在哪里?
.
【问题讨论】:
-
如果您有多个字段要更新,它们应该用逗号分隔。
-
做了但仍然返回一个错误,它没有正确结束
-
postgresql 还是 mysql?这有点傻,但更新语句的语法在每个 RDBMS 中并不总是相同。
-
更新语句中表 TableB 的用途是什么?听起来没用……可以简化如下:
UPDATE TableA A SET foo = 'bar', car = 'bmw' WHERE A.nbr = '1234' and A.STATUS IN (K,Y) and A.FILE_TYPE = 'R'? -
STATUS IN (K,Y)是一个可能的错字 应该是'K','Y'??
标签: sql oracle join sql-update