我有以下查询,它在MySQL中运行,我需要帮助和提示为Oracle 11g重写它。 (我是PL / SQL的新手。)
update table1 n, table2 t
set n.col1 = t.col1, n.col2 = t.col2
where t.col3 = n.col3;
答案 0 :(得分:2)
尝试这样的事情。
UPDATE
(
SELECT n.col1 AS n_col1, n.col2 AS n_col2, t.col1 AS t_col1, t.col2 AS t_col2
FROM table1 n
JOIN tabble2 t ON n.col3=t.col3
) a
SET a.n_col1 = a.t_col1,
a.n_col2 = a.t_col2
答案 1 :(得分:1)
UPDATE table1 n
SET (n.col1, n.col2) = (SELECT t.col1, t.col2
FROM table2 t
WHERE t.col3 = n.col3)
WHERE EXISTS (SELECT 'x'
FROM table2 t
WHERE t.col3 = n.col3);