Trong MySQL chúng tôi sử dụngOracle thay thế cho MySQL REPLACE VÀO
REPLACE INTO
để chèn nếu liên tiếp không tồn tại và để cập nhật nếu nó tồn tại.
Có lệnh tương ứng trong Oracle không?
Trong MySQL chúng tôi sử dụngOracle thay thế cho MySQL REPLACE VÀO
REPLACE INTO
để chèn nếu liên tiếp không tồn tại và để cập nhật nếu nó tồn tại.
Có lệnh tương ứng trong Oracle không?
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
Tôi có thực sự cần một bảng khác để hợp nhất không? Hoặc là có một cách để bao gồm các dữ liệu trong lệnh? – user123444555621
Để trả lời câu hỏi của riêng tôi, tôi đoán nó có thể được thực hiện bằng cách sử dụng 'dual': http://www.idevelopment.info/data/Oracle/DBA_tips/SQL/SQL_5.shtml – user123444555621
Bạn đang tìm kiếm cái gì đó như Merge
trong Oracle
Sử dụng
Merge Into myTable s
USING Select x from y;
Đừng sử dụng 'REPLACE INTO' trong MySQL, thay vì sử dụng' INSERT ... VỀ CẬP NHẬT KEY DUPLICATE '. – Quassnoi
xem thêm http://stackoverflow.com/questions/237327/oracle-how-to-upsert-update-or-insert-into-a-table/2692441#2692441 – user123444555621