我想实现的是不同数据库中的表更新!
现在我有两个数据库,SID A,SID B。
在数据库A中有张表TAB_A,在数据库B中有张表TAB_B,两张表结构完全相同,但数据不同,我现在希望做到的是能够将数据库A中的TAB_A中的数据复制到数据库B
中的TAB_B里,如果TAB_A中的关键字字段的数据与TAB_B中的关键字字段相同则更新,不同则插入。且由于TAB_A的数据每天变化,所以我想做到每天定时更新T
AB_B表中的数据,请问该如何实现?
我问过ORACLE公司的人,他们说可以通过a updated Materialized View来实现!
我看过相关资料了,但还是不知道该如何实现!
现在我有两个数据库,SID A,SID B。
在数据库A中有张表TAB_A,在数据库B中有张表TAB_B,两张表结构完全相同,但数据不同,我现在希望做到的是能够将数据库A中的TAB_A中的数据复制到数据库B
中的TAB_B里,如果TAB_A中的关键字字段的数据与TAB_B中的关键字字段相同则更新,不同则插入。且由于TAB_A的数据每天变化,所以我想做到每天定时更新T
AB_B表中的数据,请问该如何实现?
我问过ORACLE公司的人,他们说可以通过a updated Materialized View来实现!
我看过相关资料了,但还是不知道该如何实现!
解决方案 »
- oracle报错ORA-01000: maximum open cursors exceeded
- 日志序列号和系统变化号可以从哪个地方找到?
- 咨询地址替换的问题?
- 奇怪的数据库连接问题:连接数据库出现的问题,ORA-12545: Connect failed because target host or object does not exist
- oracle 违法协议错误
- 游标的效率问题
- 无法插入数据到一个表
- 大家帮忙 写一个三表查询的存储过程 100分 在线
- 数据库检索速度
- 远端客户端连服务端的问题?
- 如何在不同的数据库之间进行实时的数据转换?
- 大家看一下,这个过程报的错误怎么解决啊!急!
WHERE EXISTS (SELECT B.TAB_A.PK1 FROM TAB_A WHERE B.TAB_A.PK1=A.TAB_A.PK1 )
COMMITINSERT B.TAB_A (PK1,COLUM1....) VALUES(A.TAB_A.PK1,A.TAB_A.COLUM1.....)
WHERE NOT EXISTS (SELECT B.TAB_A.PK1 FROM TAB_A WHERE B.TAB_A.PK1=A.TAB_A.PK1 )
COMMIT也可以写进存储过程,如果是数据量较大的话,运行效率会高一些!