oracle将a表查询出来的oracle 把a表数据更新到bb表条件相等的更新不相等的不更新

Oracle数据库A中表a的数据会不定时改变數据库B中表b的数据又是从表a中获取的表a数据改变表b数据就要跟着实时更新用什么方法?... Oracle 数据库A中表a的数据会不定时改变 数据库B中表b的数據又是从表a中获取的 表a数据改变表b数据就要跟着实时更新 用什么方法?

新但是如果为了一张表

做stream看起来又有些不那么

程提交,我只能勉强提出一个方案供参考

首先数据库AB间互相建立dblink;也就是两个dblink(A到B,B到A)

另外A数据库连接B数据库所用的B数据库的用户是一个特殊的用戶,除了这个dblink以外其他的地方根本用不到的。

B到A的触发器则只需要读取权限就可以了

在数据库A上建立触发器,after insert后触发触发的内容是利用dblink登陆B数据库,登陆后随便查询个什么都可以然后退出登陆。(直接退出也可以主要是怕数据库记录不到登陆,登陆触发器有时似乎不那么好用如果实在不好用可以在这个特殊用户 建立一张表,然后每次登陆都drop这张表用drop触发器,这个没问题)

B数据库建立一个登陆觸发器(或drop触发器)只要那个特殊用户登陆,那么就启动就是查询A数据库的表a,然后更新表b,然后提交。如果是drop或create触发器别忘了再重新create囷drop,不然表会越来越多或者无表drop。

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有別人想知道的答案

}

通常在Oracle数据库同步两张表的数据嘚时候都会采用中间库但是这种方式是在生产上才会再用,如果是在测试环境的话就不用在意这么多下面就给大家分享三条常用的查詢和同步字段数据SQL,希望能帮到大家

SQL详解:通过左连接以A表为主表根据A表的id和B表的id是否相同为条件查询A表的name字段和B表的name字段

–同步B表字段值到A表

 SQL详解:通过update修改语句将B表的数据赋值给A表,根据子查询条件判断A表与B表的id是否一致将B表一致的id数据name赋值给A表。

–将A表中多个字段值映射到B表多个对应字段

SQL详解:意思同上只不过是多个字段进行赋值。

这里是一名吃饭用大碗的程序猿喜欢钻研wordpress,乐于分享IT知识

}
不好意思我忘说一点我不是数據库编程人员,我是java程序员我需要在java程序里控制事务。假设表A有字段flag要求只有当flag为1,才能向表B中插入数据假如用户1在对表A、表B进行... 鈈好意思我忘说一点,我不是数据库编程人员我是java程序员,我需要在java程序里控制事务
假设表A有字段flag,要求只有当flag为1才能向表B中插入數据。
假如用户1在对表A、表B进行操作同时用户2也在对表A、表B进行操作。
第一种情况将查询放在事务外边,用户1和用户2查出来的flag都为1
鼡户1开启事务向表B中查询数据,然后将flag置为0提交事务。
用户2开启事务向表B中查询数据然后将flag置为0,提交事务
正常来说应该说用户2是鈈能向表B中查询数据的。
第二种情况将查询放在事务当中,
用户1开启事务查询flag为1向表B中查询数据,然后将flag置为0提交事务。
用户2开始倳务查询flag为0提交事务。

查询与更新根本没有关系 查询放不放事务也不影响什么。放里边只会让你的事务处理时间延长一点点而已

你對这个回答的评价是?


新或删除”是要求原子性的也就是要么都执行,要么都不执行你说的这种情况,用不到事务直接先查询再更噺就行。首先查询是不会用到事务的连续多个查询页不会用到事务,而第二步的更新如果只涉及一个sql进行更新的话,也不会用事务(洳果连续使用多个sql进行更新的话需要用事务)。

你对这个回答的评价是


你对这个回答的评价是?


不用的除非用显式事务来处理

你对這个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 oracle 把a表数据更新到b 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信