Merge
使用merge语句,可以从一个或者多个源来更新或者插入一个表或视图,并且你可以指定条件决定是否更新或者插入等操作,这个语句使用与大量dml操作性能提高
语法
MERGE [ hint ]
INTO[ schema. ] { table | view } [ t_alias ]
USING{ [ schema. ] { table | view }
| subquery
} [ t_alias ]
ON( condition )
[merge_update_clause ]
[merge_insert_clause ]
[error_logging_clause ] ;
比如
SQL> merge into table1 a
2 using (select id,sal fromtable2 ) b
3 on (a.id=b.id)
4 when matched then update seta.str=b.sal+1
5 deletewhere (b.sal>100)
6 when not matched then insert(a.id,a.str)
7 values(b.id,b.sal)
8 where(b.sal<=100);
其中红色条件用于限制原表
以下是官方链接http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm#SQLRF55042