从另一个表更新一个表数据

时间:2013-10-16 21:42:22

标签: sql oracle oracle10g sql-update

我有源表和目标表。 源表和目标表都包含相同的列id,name,age,time

我正按目标表更新源表

所以对于这个过程我已经尝试过这个查询。但是它不起作用。请告诉我这个查询有什么问题?

UPDATE source 
SET    source.name = target.name, 
       source.age = target.age, 
       source.time = target.time 
FROM   target 
       INNER JOIN source 
               ON source.id = target.id; 

1 个答案:

答案 0 :(得分:0)

我听到的是Oracle通过加入另一个表来更新表时抛出此错误。尝试使用像这样的子查询

UPDATE source a
SET a.name = (
              select b.SURNAME
              from target b
              where a.id = b.id
              )