SQL错误:命令未正确终止



我有以下查询:

UPDATE o
SET o.supervisor  = e.supervisor
FROM orders o
INNER JOIN employees e on e.employee_id = e.employee_id
WHERE o.supervisor IS NULL;

当列主管中有空值时,该查询应该使用表雇员的数据来更新表顺序。

当我(在DB可视化工具上(运行此查询时,我会收到以下错误:ORA-00933: SQL-Befehl wurde nicht korrekt beendet,德语中是什么

ORA-00933: SQL-command wasn't terminated correctly

我犯了什么错?

Oracle不支持UPDATE中的FROM。您可以使用子查询:

UPDATE orders o
SET o.supervisor =
(SELECT e.supervisor
FROM employees e 
WHERE e.employee_id = o.employee_id
)
WHERE o.supervisor IS NULL;

请注意,JOIN子句无论如何都是错误的,因为它只引用了一个表。

最新更新