Oracle11g中如何实现两个表同步?

问题描述

大家好,今天碰到一个问题搞不定了,想请教大家。要求是这样的:1、表A有3个字段,ID,NAME,COMM 表B的结构同A相同。2、现在我想定期将A、B两表记录同步,但由于这两个表数据量很大,所以不能全表更新和插入, 请问有没有方法可以实现MERGE的功能,只对有变化的记录进行更新、插入和删除。PS:由于特定条件,不能增加诸如变更标志的字段来进行判断。请大家帮忙,有没说明白的地方我再描述。

解决方案

方案1:使用事后触发器。方案2:使用物化视图,把表b做成表a的物化视图,oracle会自动管理数据的同步。
解决方案二:
使用触发器阿~~`

时间: 2024-10-24 15:35:00

Oracle11g中如何实现两个表同步?的相关文章

mysql-MySQL中关联查询两个表的问题,在线等!!!急急急

问题描述 MySQL中关联查询两个表的问题,在线等!!!急急急 两个表的关联查询,却出现的笛卡尔积的问题,所以查出来的数据并不是我想要的 该怎么办呀 解决方案 你怎么查询的,关联的一侧不是主键或者唯一值,那么就是笛卡尔集. 解决方案二: 换言之,如果是N:N查询,那么所有匹配的组合都会被查询出来.确保你的查询是1:N N:1或者1:1 如果你一侧不是1,那么可以用distinct或者group by先变成唯一的. 解决方案三: 关联条件是如何做的 是不是有正确的join起来 解决方案四: 使用f

hibernate3-Hibernate3中,有两个表,从表主键名叫“zhujian” 有一个属性叫“id”

问题描述 Hibernate3中,有两个表,从表主键名叫"zhujian" 有一个属性叫"id" Hibernate3中,有两个表,从表主键名叫"zhujian" 有一个属性叫"id" 报错如下 七月 30 16:02:56 , 602 DEBUG ErrorCounter:68 - throwQueryException() : no errors 七月 30 16:02:56 , 602 DEBUG QueryTransl

mysql中同时查两个表中的前2000条

问题描述 mysql中同时查两个表中的前2000条 比方说我有两个结构一样的表,但是由于各种原因并不能合并. 其中有一个create_time 字段记录了时间 我想同时查出两个表中时间大于某个时间(例:2016-04-01 00:00:00)的前2000条数据 要求是查出来一共2000条,而不是每个表查2000条出来. 求大神!谢谢! 解决方案 SELECT CREATE_TIME FROM (SELECT 字段1,字段2 from 表1 where create_time>某个时间 union

radgridview中关联了两张表,如何将他们更新到数据库?

问题描述 radgridview中关联了两张表,如何将他们更新到数据库?radgridview中的列值来源于两张表,怎么分别更新到数据库? 解决方案 解决方案二:没用过radgridview,更新数据库还和控件有关么?解决方案三:https://msdn.microsoft.com/zh-cn/library/system.data.common.dataadapter.update(v=vs.110).aspx

水晶报表中如何连接两个表,两个表有一个字段关联,且其他字段不一样

问题描述 水晶报表中如何连接两个表,两个表有一个字段关联,且其他字段不一样如表1report_nopart_specsamplecode表2report_nofile_name想在同一张主表上显示,且有份详细资料节通过SQL语句,目前只能传表1的内容,表2的内容不知道如何传 解决方案 解决方案二:用父子报表关联显示

基于SQL Server中如何比较两个表的各组数据 图解说明_MsSql

开始 前一阵子,在项目中碰到这样一个SQL查询需求,有两个相同结构的表(table_left & table_right),如下: 图1. 检查表table_left的各组(groupId),是否在表table_right中存在有一组(groupId)数据(data)与它的数据(data)完全相等. 如图1. 可以看出表table_left和table_right存在两组数据完整相等: 图2. 分析 从上面的两个表,可以知道它们存放的是一组一组的数据:那么,接下来我借助数学集合的列举法和运算进行

dataGridView中直接显示两张表

问题描述 想实现再一个dataGridView中显示两张表,不是表的拼接成一张表,那样会导致字段太多,而需要人去拖动才可以看见,直接是两张表上下显示,不知道可以实现不?? 解决方案 解决方案二:可以,用数据集啊dataset解决方案三:应该只有拼接了.但是你可以上下手动拼接除此之外你可以考虑用两个dataGridView

在Oracle数据库中同时更新两张表的简单方法_oracle

以前只会写一些简单的updaet语句,比如updae table set c1='XXX' 之类的 今天遇到一个数据订正的问题,项目背景如下,有个表A,有两个字段a1,a2还有一个关联表B,其中也有两个字段,b1和b2.其中a2和b2是关联的,想把A中的字段a1更新成B中的b1 理论上sql应该挺好写的,但是在oralce中实现了半天一直报语法错误.而且确实还有些小小细节没有注意到. 首先上测试数据 表1,ZZ_TEST1 表2,ZZ_TEST2 要把表一的text更新成表二的text1值,对应

SQL Server中如何比较两个表的各组数据方法总结

 代码如下 复制代码 use tempdb go if object_id('table_left') is not null drop table table_left if object_id('table_right') is not null drop table table_right go create table table_left(groupId nvarchar(5),dataSub1 nvarchar(10),dataSub2 nvarchar(10)) create ta