用于将列复制到另一个表的另一列的脚本

时间:2017-12-06 01:38:30

标签: sql oracle oracle-sqldeveloper

SQL命令未正确结束 - 当我在代码下运行时出现错误。我想将表T_DOC的Process列中的所有值复制到T_CHARACTERISTICS的Process列。现在T_CHARACTERISTICS中的处理列为NULL。 (除此列外,T_CHARACTERISTICS的所有其他列都有值)提前致谢

UPDATE T_CHARACTERISTICS 
SET T_CHARACTERISTICS.PROCESS = T_DOC.PROCESS
FROM T_CHARACTERISTICS  
JOIN  T_DOC ON T_CHARACTERISTICS.ID = T_DOC.ID

2 个答案:

答案 0 :(得分:0)

Oracle不支持更新连接,但我们可以使用相关的子查询:

UPDATE T_CHARACTERISTICS t1
SET PROCESS = (SELECT t2.PROCESS FROM T_DOC t2 WHERE t2.ID = t1.ID);

答案 1 :(得分:0)

这不是正确的Oracle语法。这是一种方法:

UPDATE T_CHARACTERISTICS c
    SET PROCESS = (SELECT d.PROCESS
                   FROM T_DOC d
                   WHERE c.ID = d.ID
                  )
    WHERE EXISTS (SELECT 1
                  FROM T_DOC d
                  WHERE c.ID = d.ID
                 );