“更新”是否阻止其他连接插入表格?

时间:2018-04-02 18:04:51

标签: sql oracle12c

据我所知,当在查询中发出FOR UPDATE子句时,只要执行查询,数据库就会自动对SELECT语句返回的所有行发出独占行级锁定。保持直到发出COMMITROLLBACK命令。

这些行级锁会阻止其他连接删除或更新此查询中的记录,但它们是否也会阻止其他用户在锁定到位时插入查询表?

1 个答案:

答案 0 :(得分:3)

不,SELECT ... FOR UPDATE不会阻止插入。

Automatic Locks in DML Operations

  

行独占锁(RX),也称为子独占表锁(SX),   表示持有锁的事务已更新表行   或发出SELECT ... FOR UPDATE。 SX锁允许其他事务   在。中同时查询,插入,更新,删除或锁定行   同桌。因此,SX锁允许获得多个事务   同一个表的同时SX和SS锁。