我有几个语句,伪代码看起来像这样:
insert into local_table
crease savepoint sp1
insert into remote_db //using db_link
update local_table2
delete from local_table
commit
现在我对insert into remote_db
的说法有点困惑。正在应用的提交是否有可能对local_db
和remote_db
产生不同的影响?
问题陈述有点复杂。将数据从local_db
复制到remote_db
的脚本正在产生重复。经过调查,那是唯一看起来可疑的地方,但我不确定。如果有人能介绍一下Oracle的COMMIT
如果您正在询问commit
是否可能导致重复行,不,那是不可能的。
考虑到分布式事务的发生方式,该事务可能根本不会在远程数据库上提交(在这种情况下,远程DBA可能需要解决一个有疑问的分布式事务)。但是,如果事务被成功提交,它将被正确提交。不可能有些行会被提交,而另一些行不会,也不可能在提交之前不存在的重复行会通过提交行为创建。