SQL如何读取一个表的数据再插入另一个表,这两个表在不同服务器。

例: A表在 1服务器,B表在2服务器,即A表更新或增加的数据,需要在B表插入或更新数据,插入前加入一个判断,即B表己有A表的最新数据,即不插入,而是插入或更新没有的数据。
列:
1服务器的A表有 a , b, c ,d ,e 其中,d是指创建时间,e是指最后更新时间
2服务器的B表有 f,g,h,
两表字段不一样,
两表字段的对应关系

a=f
b=g
c=h c和h是指状态值 状态值只有1和0两个值
创建新数据,是指A表新增加了不重复的A和B的值
更新数据,是指A表中C的状态值改变了 如原来为1,现在为0;

通过d和e的条件,查询a表最近10天创建的新数据 和最近10天更新的数据,然后判断B表有无相同数据,如无, 然后把数据更新和插入到B表。
如何写SQL的表达式?

首先,先建立2个数据库的dblink,然后可以在一个数据库中访问另外一个数据库
下面以在2服务器上访问1数据库为前提,写SQL文

插入用sql
insert into B values select a,b,c from A where d >= sysdate - 10

更新用SQL
update B set h = (select c from A where d < sysdate - 10 and e >= sysdate - 10 and a=B.f and b = B.g)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-08
A表建触发器,调用存储过程,向B表更新数据。
相似回答