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)

猜你喜欢

转载自blog.csdn.net/qq_30629571/article/details/84027588