首页 > 解决方案 > 在 Oracle 数据库查询中,当插入未提交的行时,有什么方法可以阻止?

问题描述

在 Oracle 数据库中,当插入未提交的行时,有什么方法可以阻止查询?

假设我想获取表中与我的 WHERE 子句匹配的所有行,但是插入了一个未提交的行,可能与之匹配。我希望在插入行的事务完成之前阻止我的查询。当然,普通的 SELECT 只返回提交的数据。有没有办法被阻塞并等待最近插入的行(大概有一个排他行锁)?

我在想,也许,在我插入之前,我可能会在另一个表中的其他行上获得一个共享锁,然后作为相关查询的一部分,尝试选择所需的数据进行更新,即使我不打算更新它。如果这是一种可行的方法,任何想法如何获取这个共享锁?

还有比这更简单的方法吗?

标签: oracle

解决方案


推荐阅读