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效率非常高。
相关文档:
http://inthirties.com:90/viewthread.jsp?tid=1395
这个deterministic是不是很眼熟呀,
我们在online redefinition里见到过这个关键字,这个关键在在自定义的函数索引里也出现了。
先看看文档
DETERMINISTIC Clause
Specify DETERMINISTIC to indicate that the function returns the same
result value whenever i ......
如何修改Oracle默认用户密码有效期时间 1、查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE from dba_users; 2、查看指定概要文件(如default)的密码有效期设置: sql>SELECT * from dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 3、将密码有效期由默 ......
ORACLE
表连接方式分析及常见用法
摘要
:
针对在数据仓库环境下
,
由于超大数据量的处理而产生的效率问题,本文深入分
析了
ORACLE
表的几种连接方式、特点、适用范围
,
以及对于
如何使用和优化做了详细的探讨。
关键字: 数据仓库
ORACLE
表连接
一 引言
数据仓库技术是目
前已知的比较成熟 ......
1.将客户端程序解压到电脑中
2.配置环境变量:
ORACLE_HOME=F:\instantclient_10_2\client
Path加上%ORACLE_HOME%\bin;
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3.修改
%ORACLE_HOME%\network\admin下的tnsnames.ora文件
dev = &nbs ......