1. 程式人生 > >ORACLE更新資料時如果有就更新沒有就插入

ORACLE更新資料時如果有就更新沒有就插入

a表字段有user_id,status,heart_time三個欄位

b代表臨時資料表,將要比較的值作為b的user_id引數, ON (a.user_id = b.user_id)是比較,後面兩句話是兩條選擇

MERGE INTO 表名 a
USING (
SELECT 引數值 as user_id
FROM dual
) b
ON (a.user_id = b.user_id)
WHEN MATCHED THEN
UPDATE SET a.status = '1', a.heart_time = sysdate
WHEN NOT MATCHED THEN
INSERT (a.user_id, a.status, a.heart_time) VALUES (引數值, '1', sysdate)