【问题标题】:How to insert a row to table through database link in oracle如何通过oracle中的数据库链接向表中插入一行
【发布时间】:2014-06-13 01:19:52
【问题描述】:

我在 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 条相同的记录。我的问题在哪里?服务器中的插入命令或客户端中的选择命令?

谢谢!!

【问题讨论】:

  • 你提交插入了吗?

标签: oracle


【解决方案1】:

如果我按照您的描述进行操作,您只需在执行insert 的“服务器”会话上发出commit

一个会话永远不会看到来自其他会话的未提交数据,无论这些更改是在本地还是远程进行的。数据库链接并不真正相关,如果数据是从“客户端”上的另一个会话插入的,您会看到相同的效果。

在文档中阅读有关concurrency and consistencytransactions 的更多信息。

【讨论】:

  • 哦,我明白了,我不在服务器端提交。谢谢!
猜你喜欢
  • 1970-01-01
  • 2010-09-19
  • 2015-12-24
  • 2011-02-28
  • 2012-11-11
  • 2022-01-09
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多