情况是这样的:
存在3个异地数据库--A、B、C,C为总库。A、B中存在表结构相同的表test_table。
test_table结构如下:
id number primary key not null;--主键,引用序列
first_time date; --插入数据时间
second_time date; --修改数据时间,记录最后修改数据的时间C中的test_table结构:
total_id number primary key not null;
id number;
first_time date;
second_time date;
其中,total_id为主键,且total_id为1(代表A)或2(B)连接上AB库中test_table.id
如:A中有一条记录id为300,则存储到C库中时,C库中total_id=1300,id=300;已经建立ac_db_link,bc_db_link,现在想用一个存储过程更新A、B库中数据到C,
既如果A中数据a改动的话,second_time必然大于C库中相应nvl(second_time,first_time)
该存储过程附带参数link,既只写一个存储通过不同参数对多个异地库进行操作尝试了几种方式,都没能很好地解决这个问题,特请高手指点。
存在3个异地数据库--A、B、C,C为总库。A、B中存在表结构相同的表test_table。
test_table结构如下:
id number primary key not null;--主键,引用序列
first_time date; --插入数据时间
second_time date; --修改数据时间,记录最后修改数据的时间C中的test_table结构:
total_id number primary key not null;
id number;
first_time date;
second_time date;
其中,total_id为主键,且total_id为1(代表A)或2(B)连接上AB库中test_table.id
如:A中有一条记录id为300,则存储到C库中时,C库中total_id=1300,id=300;已经建立ac_db_link,bc_db_link,现在想用一个存储过程更新A、B库中数据到C,
既如果A中数据a改动的话,second_time必然大于C库中相应nvl(second_time,first_time)
该存储过程附带参数link,既只写一个存储通过不同参数对多个异地库进行操作尝试了几种方式,都没能很好地解决这个问题,特请高手指点。
.....
BEGIN
...
EXECUTE IMMEDIATE 'insert into xx@'||p_dblink||' values(...)';
...
END;
/
set ...=...重点是如何将A.B库中更新的信息更新到C库