我有以下查询:
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
子句无论如何都是错误的,因为它只引用了一个表。