关闭

oracle merge into 的用法详解+实例

标签: merge-into
215人阅读 评论(0) 收藏 举报

oracle merge into 的用法详解+实例
作用: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效率非常高。

0
0
查看评论

oracle中merge into简单实例

merge info用法,简单总计就是“有则更新,无则插入” 1、创建学生表 create table t_B_info_student  (   s_no varchar2(10),   s_nam...
  • u010397459
  • u010397459
  • 2016-11-11 11:21
  • 493

oracle merge into 的用法详解+实例

<br />oracle merge into 的用法详解+实例 <br />作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表; <br /><br />  1、建设银行:6227  000...
  • shengchuang
  • shengchuang
  • 2010-09-28 14:00
  • 9209

merge用法详解

merge用法详解 1、普通用法: MERGE INTO EMPLOYE AS EM USING (SELECT * FROM MANAGER WHERE MA.SALARY > 2) AS MA ON (EM.EMPLOYEID = MA.MANAGERID) WHEN MATCHED A...
  • moshansk
  • moshansk
  • 2016-10-14 14:55
  • 2029

oracle中merge into用法解析

merge into的形式: MERGE INTO [target-table] A USING [source-table sql] B ON([conditional expression] and [...]...) WHEN MATCHED THEN [UPDATE sql] WHEN ...
  • jeryjeryjery
  • jeryjeryjery
  • 2017-04-11 10:59
  • 11157

Oracle 分析函数Merge 案例

-- Start 假设现在有下面这个表用来存放股票的价格,我们需要保存一个月的历史记录。 CREATE TABLE price_history ( security_id NUMBER(10, 0), price NUMBER(10, 4), pri...
  • shangboerds
  • shangboerds
  • 2015-02-14 21:31
  • 671

Oracle Merge Into 的用法详解实例

Oracle merge into 的用法详解实例   作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表; 语法: MERGE INTO [your table-name] [rename your table here] ...
  • long_ge_cool
  • long_ge_cool
  • 2013-09-05 10:22
  • 430

oracle merge into 的用法详解+实例

作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表; 语法: MERGE INTO [your table-name] [rename your table here] USING ( [write your query ...
  • zhanglu0223
  • zhanglu0223
  • 2013-08-23 15:21
  • 565

Oracle merge into 的用法详解实例

作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表; --  语法: --  MERGE INTO [your table-name] [rename your table here] --  USING ( [write you...
  • bobo_916
  • bobo_916
  • 2010-02-21 09:31
  • 378

Oracle中的Merge函数(批量更新/删除)

所有的MIS系统都存在一个同样的需求,就是对于特定的数据,在一次批量操作过程中,如果数据已经存在,则对存在的数据按照现有情况进行更新,如果不存在,则需要加入数据库。这时,我们就可以考虑采用 Oracle 的 MERGE 函数,其具体用法如下:  MERGE INTO [...
  • xymyeah
  • xymyeah
  • 2007-02-10 21:45
  • 4390

oracle的merge into操作详解

merge into的使用场景一段业务逻辑,需要先判断一条记录在数据库中是否有存在,若存在则更新该记录,若不存在则插入记录。 应用之前的做法是: 1、先用条件判断记录在数据库中的个数。 2.1、若count(*)>0,则执行UPDATE操作。 2.2、若count(*)=0,则执行IN...
  • ghgzczxcvxv
  • ghgzczxcvxv
  • 2016-05-27 17:34
  • 3840
    个人资料
    • 访问:783次
    • 积分:11
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档