1

我有几个语句,伪代码看起来像这样

insert into local_table
crease savepoint sp1

insert into remote_db //using db_link
update local_table2
delete from local_table
commit

现在我在插入 remote_db语句时有点困惑。正在应用的提交是否有可能对本地数据库和远程数据库产生不同的影响?

问题陈述很复杂。将数据从本地数据库复制到远程数据库的脚本正在产生重复项。经过调查,这是唯一看起来可疑的地方,但我不确定。如果有人能阐明甲骨文的提交,我将不胜感激。

4

1 回答 1

2

如果您询问是否commit可能导致重复行,不,这是不可能的。

考虑到分布式事务的发生方式,该事务可能根本不会在远程数据库上提交(在这种情况下,它可能是远程 DBA 可能需要解决的不确定分布式事务)。但如果事务成功提交,它将被正确提交。不可能有一些行会被提交而其他行不会被提交,或者提交之前不存在的重复行将由提交行为创建。

于 2012-01-30T17:07:02.227 回答