易截截图软件、单文件、免安装、纯绿色、仅160KB

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效率非常高。
 


相关文档:

Oracle子查询

子查询
 单行子查询(single-row subqueries)
    使用的运算符号(=,>,<,>=,<=,<>)
  多行子查询(multiple-row subqueries)
    使用的运算符号(in,not in,exists,not exits,all,any)
   相关子查询(correlated subqueries)
 &nb ......

oracle deterministic关键字

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 递归查询

create table tree_table 
(
id number,
pId number,
orderNumber number,
name varchar2(255)
)
select tt.*
from tree_table tt
start with tt.pId = 0
connect by prior tt.id = ttd.pId
order siblings by orderNumber  ......

Oracle 小知识 慢慢更新

1. 每天的8:00到23:00每隔5分钟执行一个sql语句的JOB
     --建立一个存储过程
CREATE OR REPLACE PROCEDURE p_jobtest IS
  v_hh VARCHAR2(2);
BEGIN
  v_hh := to_char(SYSDATE, 'hh24');
  IF v_hh >= '08' AND v_hh <= '22' THEN
    --你的sql语句 ......

oracle中emp表的内连接,左外连接,右外连接,全外连接

EMP表中员工与老板的关系
内连接:
        
内连接也叫自然连接,它是组合两个表的常用方法。自然连接将两个表中的列进行比较,将两个表中满足连接条件的行组合起来,作为结果。自然连接有两种形式的语法。
select e1.ename,e1.mgr,e2.ename aa from emp e1,emp e2 where e1. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号