oracle 存在数据修改 不存在数据插入 使用 MERGE INTO 解决
2018-03-16 11:23
1111 查看
因为在项目过程中我有一些数据需要插进去,但是这个数据有一部分本来就有我需要保留,所以写下这个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);
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);
相关文章推荐
- Oracle中merge into的使用:该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据.
- Oracle存在修改,不存在插入记录
- mybatise+oracle添加数据时如果数据存在就更新,如果不存在就插入
- Oracle存在修改,不存在插入记录
- Oracle存在则修改,不存在插入记录
- Oracle存在修改,不存在插入记录
- Oracle 存在 更新 ,不存在插入 Merge into用法总结
- oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决
- 两个结构完全相同的表a和b,主键为index,使用SQL语句,把a表中存在但在b表中不存在的数据插入的b表中
- oracle使用子查询插入和修改数据
- Oracle实现数据不存在则插入,数据存在则更新(insert or update)
- mysql insert ignore .. ON DUPLICATE KEY 与oracle MERGE INTO 可以相互替换 批量插入存在则替换,不存在则插入
- Oracle实现数据不存在则插入,数据存在则更新(insert or update)
- Oracle使用Mybatis实现批量插入或修改数据(Oracle)
- mybatis+oracle添加数据时如果数据存在就更新,如果不存在就插入
- oracle 实现 存在记录就更新,不存在就插入 merge into
- oracle mybatis(Mergr into语句带序列)添加数据时如果数据存在就更新,如果不存在就插入
- Oracle 用merge 实现对一张表的操作存在则修改不存在则插入
- oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决
- oracle数据库零碎---Oracle Merge 使用,表中存在数据就修改,没有数据自动添加