java - oracle 上的 select SQL 语句是否锁定已使用的表以供其他连接更新?

标签 java jdbc oracle11g jta

oracle 上的 select SQL 语句是否会锁定使用的表以供其他连接更新?这取决于我是否在 jta 事务中进行选择吗?如何控制此问题并防止只读 SQL 语句锁定表以进行编辑?

最佳答案

我知道这是一个老问题,但我认为它值得一个更好的答案。如果您引用 Automatic Locks in DML Operations ,您会发现唯一会锁定表的 SELECT 语句是带有 FOR UPDATE 子句的语句,并且由于“没有 FOR UPDATE子句不获取任何数据锁来阻止其他操作,这样的查询通常被称为非阻塞查询。

关于java - oracle 上的 select SQL 语句是否锁定已使用的表以供其他连接更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464973/

相关文章:

bash - 将变量从 bash shell 传递到 sql 文件到 oracle 表

java - 在单个 Activity 中使用两个 ScrollView 的正确方法是什么?

Java在单个数组中查找唯一数字的 boolean 方法

Java:使用引导类路径阻止找到 H2 驱动程序

java - 打印 ResultSet 中的数据以及列名

java - 在整个数据库中搜索一个乱码 `�` - Oracle

java - 无法让我的数组在 0 处取消

java - 在 Google 连接器安装程序中的何处查找文件系统连接器的日志

mysql - 使用 JDBC 连接器读取 Spark 中 MySQL 表的一部分

database - sqlplus 无法在 linux 64 上启动