oracle 存在数据修改 不存在数据插入 使用 MERGE INTO 解决

因为在项目过程中我有一些数据需要插进去,但是这个数据有一部分本来就有我需要保留,所以写下这个sql 

MERGE INTO T_LMS_ACTIVITYMAPPING(目标表) T1 USING (

SELECT
FID,
FPROCESSNAME,
FNODEID,
FBRANCH
FROM
T_LMS_ACTIVITYMAPPING
WHERE
FPROCESSNAME = '1'
AND FNODEID = 'werteywe'

AND FBRANCH = 'A公司'

        (源表)

) T2 ON (T1.FID = T2.FID)(匹配条件,不知道为什么只能填一个)

WHEN MATCHED THEN

(匹配后执行的一个语句)

UPDATE
SET T1.FNODEID = 'gdshgdshg123'

WHEN NOT MATCHED THEN

(不匹配执行的语句)

INSERT (FPROCESSNAME, FNODEID)
VALUES
(T2.FPROCESSNAME, T2.FNODEID);

猜你喜欢

转载自blog.csdn.net/liu123342/article/details/79579102
今日推荐