2009-11-30 19 views
-1

有没有什么办法只在同一个会话中看到提交的数据。 Like 用户更新了一个包含10行并已提交的表。 然后再次更新20行,但没有提交,所以在这里用户A应该只看到提交的数据(10个更新行)用户是否可以在同一会话中只看到已提交的数据?

+3

我很好奇你为什么要这样做。 – 2009-11-30 13:10:00

+0

您可以将数据库隔离级别设置为READ COMMITTED,那么只能在查询数据库时获取提交的数据。 谢谢 – 2009-11-30 13:10:19

+0

对于Oracle,另一个会话只能看到提交的数据。 OP在询问正在进行修改的会话。 – 2009-11-30 14:02:24

回答

2

您可能想要(ab)使用自主事务来完成此操作。只需使用PRAGMA AUTONOMOUS_TRANSACTION在函数中运行查询,它只会看到提交的数据。

+0

+1。这是一个很好的建议。 – Guru 2009-11-30 13:35:05

0

没错,

你想用一个存盘点。

A better link on save points

Save point link

一个存盘点可以让你交易的一部分后保存就完成了。然后,如果第二部分回滚,您将在保存点之前保留更改,并在保存点之后丢失更改。

+0

对不起,我想我错过了关于在同一个会议内的观点。 – 2009-11-30 13:08:59

相关问题