日期:2014-05-17  浏览次数:20848 次

oracle中的merge在何种情况下会用到
merger的定义为插入+更新。感觉有用新表覆盖旧表的味道,实际项目中就是在这种情况下用merge么?

------解决方案--------------------
比如说商品的库存表。第一次进货时要插入,第二次就要更新。

------解决方案--------------------
两表同步时。比如说你有一个电商系统,会有几个部分,比如商品列表在仓储模块会有一份,在订单管理模块也会有一份。仓储模块那份肯定是最新的,因为进货总是最先更新那块。然后每天就需要把订单模块的这份也更新掉。

当然你也可能有多种选择,比如用物化视图,比如用ORACLE AQ,也可以不用订单模块的商品列表,使用JMS直接通信,还可以用MQ,MERGER在这里给我们提供了一种更多的选择。