用于MySQL REP的替代Oracle替代方案

时间:2013-04-04 06:49:40

标签: mysql oracle

在MySQL中我们使用

REPLACE INTO

如果某行不存在则插入,如果存在则更新。

Oracle中是否有相应的命令?

2 个答案:

答案 0 :(得分:9)

MERGE
INTO    destTable d
USING   (
        SELECT  *
        FROM    sourceTable
        ) s
ON      (s.id = d.id)
WHEN NOT MATCHED THEN
INSERT  (id, destCol1, destCol2)
VALUES  (id, sourceCol1, sourceCol2)
WHEN MATCHED THEN
UPDATE
SET     destCol1 = sourceCol1,
        destCol2 = sourceCol2

答案 1 :(得分:0)

您正在寻找Oracle中的Merge

使用

 Merge Into myTable s
   USING Select x from y;

See the documentation