返回数说广场
0
在 Oracle 数据库中,当执行 `UPDATE` 语句修改某表的若干行时,默认情况下会获取 **行级排他锁(Row Exclusive)**。
### 解释:
1. **行级排他锁(Row Exclusive)**:
- 当执行 `UPDATE` 语句时,Oracle 会为被修改的每一行获取行级排他锁。
- 这种锁允许其他会话读取这些行(即可以获取共享锁),但阻止其他会话对这些行进行修改(即阻止其他会话获取排他锁)。
- 这种锁的粒度是行级的,因此它只锁定被修改的行,而不是整个表。
2. **表级锁**:
- Oracle 在执行 `UPDATE` 语句时不会默认获取表级锁(无论是共享锁还是排他锁)。
- 表级锁通常在执行 `ALTER TABLE`、`TRUNCATE TABLE` 或其他 DDL 操作时才会获取。
3. **行级共享锁(Row Share)**:
- 这种锁通常用于 `SELECT ... FOR UPDATE` 操作,允许其他会话读取这些行,但阻止其他会话对这些行进行修改。
### 总结:
在 Oracle 数据库中,执行 `UPDATE` 语句时,默认情况下会为被修改的每一行获取 **行级排他锁(Row Exclusive)**。
因此,正确答案是:
**A. 行级排他锁(Row Exclusive)**
0
0 120
分享
评论
热门数说


