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
答案 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
);