作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表;
语法:
MERGE INTO [your table-name] [rename your table here]
USING ( [write your query here] )[rename your query-sql and using just like a table]
ON ([conditional expression here] AND [...]...)
WHEN MATHED THEN [here you can execute some update sql or something else ]
WHEN NOT MATHED THEN [execute something else here ! ]
-------------------------------------实例-----------------------------------------------------------------
merge into tfa_alarm_act_nms a
using (select FP0,FP1,FP2,FP3,REDEFINE_SEVERITY
from tfa_alarm_status) b
on (a.fp0=b.fp0 and a.fp1=b.fp1 and a.fp2=b.fp2 and a.fp3=b.fp3)
when matched then update set a.redefine_severity=b.redefine_severity
when not matched then insert (a.fp0,a.fp1,a.fp2,a.fp3,a.org_severity,a.redefine_severity,a.event_time
,a.int_id)
values (b.fp0,b.fp1,b.fp2,b.fp3,b.REDEFINE_SEVERITY,b.redefine_severity,sysdate,7777778);
作用:利用表 tfa_alarm_status跟新表tfa_alarm_act_nms 的b.redefine_severity,条件是a.fp0=b.fp0 and a.fp1=b.fp1 and a.fp2=b.fp2 and a.fp3=b.fp3,如果tfa_alarm_act_nms表中没有该条件的数据就插入。
如果你的数据量很大,此sql效率非常高。
MERGE INTO ds_plan a
USING sm_plan b
ON(a.plan_id=b.plan_id)
WHEN NOT MATCHED THEN insert (plan_id) values (b.plan_id)
分享到:
相关推荐
在实际应用中,Merge Into 语句可以用来实现各种数据同步和数据migration的任务,例如用 B 表来更新 A 表中的数据,如果 A 表中没有,则把 B 表的数据插入 A 表。Merge Into 语句可以帮助我们简化数据处理的过程,...
Oracle中merge into的使用 很有用的哦 学习一下
利用 sqluldr2导出数据 使用sqlldr导入数据 通过merge into 合并更新数据。
关于Oracle中merge into的用法,比较实用哦
Mybatis批量foreach merge into的用法,这是介绍Mybatis批量foreach merge into的用法的文档
DB2中的Merge语句可以将一个表中的数据合并到另一个表中,在合并的同时可以根据条件进行插入、删除、更新等操作,功能非常强大。
方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS ...MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 条件是 A 相同 WHEN MATCHED THEN UP
Merge into写法,含两种,带实例说明
oracle merge into的使用,开发必备的。
非常经典的SQL经验,适合于数据库初学者及长期从事软件开发者
作用:判断B表和A表是否满足ON中条件,如果满足则用B表去更新A表,如果不满足,则将B表数据插入A表但是有很多可选项,如下: 1.正常模式 2.只update或者只insert 3.带条件的update或带条件的insert 4.
NULL 博文链接:https://forlan.iteye.com/blog/2245814
1.Merge(MRG_MyISAM)存储引擎类型允许你把许多结构相同的表合并为一个表。当从合并表中执行查询,从多个表返回的结果就像从一个表返回的结果一样。 2.要创建合并表的前提是每一个合并的表必须有同样的表定义(表结构...
oracle使用 merge 更新或插入数据(总结)
在上面的示例代码中,我们可以看到如何使用 merge 方法来处理数据的更新和插入操作。首先,我们创建了一个新的 Students 对象,并设置了其 ID 和 Name 属性,然后使用 merge 方法将其保存到数据库中。在第二个 ...
根据一个源数据表对另一个数据表进行确定性的插入、更新和删除这样复杂的操作,运用新的MERGE语句,开发者用一条命令就可以完成。对两个表进行信息同步时,有三步操作要进行。首先要处理任何需要插入目标数据表的新...
merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理: 当ID在数据库中不能找到时,用update的话肯定会报异常,然而用merge的话,就会insert。 当ID在数据库中能找到的时候,update与...
业务需求是用临时表中的数据和正式表的匹配,所有字段都需要一一匹配,而且两表还没有主键,这是一个比较麻烦和糟糕的事情。 场景: 1、如果两表所有字段值都一致则不处理; 2、如果有部分字段不一致则更新; 3、...
oracle同一个表中使用merge
今天使用Merge语句时遇到了一个问题,当源表数据集为空时,merge就不工作了。