我正在尝试使用SQL Developer中的另一个表更新表。数据结构如下所示:
Table_to_be_updtated
Shipment pkg_type.
1395 1
1395 1
1395 1
2233 2
5466 3
Table_with_update_info
Shipment pkg_type.
1395 3
1395 3
1395 3
2233 1
5466 2
这是我的更新程序查询
UPDATE d
SET d.pkg_type = bd.pkg_type
FROM Table_to_be_updtated.Shipment d
JOIN Table_with_update_info.Shipment bd
ON bd.Shipment = d.Shipment;
这只是我最近的尝试。我试过可能其他版本的更新查询,但没有成功。我希望有人可以帮助我。
谢谢
答案 0 :(得分:1)
对于初学者来说,看起来你正在引用表声明中的列,但无论如何 - 在Oracle中执行此操作的最简单方法是使用以下语法:
UPDATE Table_to_be_updtated d
SET pkg_type = (SELECT bd.pkg_type
FROM Table_with_update_info bd
WHERE bd.Shipment = d.Shipment);