在用oracle数据库时没有用过merge语句,发现这个语句还是蛮实用的,于是梳理一下这个点
merge语句具有按条件获取要更新或插入到表中的数据行,然后从一个或多个源头对表进行更新或者向表中插入行两方面的能力,它最经常用在数据仓库中来移动大量的数据,这个语句提供的一个很大的附加值在于你可以很方便的把多个操作结合成一个
Merge Into <table_name> 别名 USING<table_view_or_query> //如果是子查询需括起来 ON (Clause) //关联条件要用括号括起来 WHEN MATCHED THEN <update_clause> DELETE <where_clause> WHEN NOT MATCHED THEN<insert_clause>
update子句后面可以跟delete子句来去掉一些不需要的行 delete只能和update配合,从而达到删除满足where条件的子句的记录