【发布时间】:2013-03-26 02:56:33
【问题描述】:
在 MySQL 中我们使用
REPLACE INTO
如果行不存在则插入,如果存在则更新。
Oracle中有对应的命令吗?
【问题讨论】:
-
不要在 MySQL 中使用
REPLACE INTO,而是使用INSERT ... ON DUPLICATE KEY UPDATE。
在 MySQL 中我们使用
REPLACE INTO
如果行不存在则插入,如果存在则更新。
Oracle中有对应的命令吗?
【问题讨论】:
REPLACE INTO,而是使用INSERT ... ON DUPLICATE KEY UPDATE。
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
【讨论】:
dual:idevelopment.info/data/Oracle/DBA_tips/SQL/SQL_5.shtml
您正在 Oracle 中寻找类似 @987654322@ 的东西
使用
Merge Into myTable s
USING Select x from y;
【讨论】: