commit在oracle中的工作方式



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

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_dbremote_db产生不同的影响?

问题陈述有点复杂。将数据从local_db复制到remote_db的脚本正在产生重复。经过调查,那是唯一看起来可疑的地方,但我不确定。如果有人能介绍一下Oracle的COMMIT

,我将不胜感激

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

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

相关内容

最新更新