ORACLE 数据全量/增量同步 merge into 方法
一、业务介绍
有old和new两张表,new是每天最新业务数据,old是上一天的业务数据,需要将new表中的数据更新或插入到old的主表中。
二、创建表
--创建第一张表
create table old(
id number(10)
, name varchar2(20)
, age number(10)
);
--创建第二张表
create table new as select from old where 1 = 2;
三、准备数据
假设name字段和age字段都可能变化,需要对应id进行更新或在old表中插入新数据,我们先插入一些模拟数据。
--用存储过程插入一些数据
create or replace procedure spold(pnum in number)
is
pvid number(10);
pvname varchar2(10);
pvage number(10);
begin
for m in 1..pnum loop
pvid := m;
pvname := dbms_random.string(