我在oracle的2个不同的连接中有2个表。我称之为服务器连接和客户端连接。我创建了一个数据库链接来传输数据,它工作正常。当我从服务器通过数据库链接将新记录插入客户端的表中时,它没问题!但是当我在客户端中选择该表时,不会显示该记录。例如,我在客户端有一个记录" 1"的表。
在服务器端:
select * from [table_name]@[database_link_name]
工作正常!我可以得到记录" 1"。然后我从服务器在客户端表中插入一条新记录,然后再次选择:
insert into [table_name]@[database_link_name] values(2)
好的,我可以获得2条记录" 1"和" 2"。但在客户端,当我选择该表时:
select * from [tblname]
它只返回记录" 1"。如何在服务器端获得2条相同的记录。我的问题在哪里? server中的insert命令或客户端中的select命令?
谢谢!
答案 0 :(得分:1)
如果我关注您的说明,您只需在服务器上发出commit
即可。执行insert
。
会话永远不会看到来自其他会话的未提交数据,无论是本地更改还是远程更改。数据库链接并不真正相关,如果数据已从客户端的其他会话中插入,则会看到相同的效果。
详细了解文档中的concurrency and consistency和transactions。