前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试656】在Oracle中,显式锁和隐式锁的区别有哪些?

【DB笔试面试656】在Oracle中,显式锁和隐式锁的区别有哪些?

作者头像
小麦苗DBA宝典
发布2019-10-09 16:36:39
7130
发布2019-10-09 16:36:39
举报

题目部分

在Oracle中,显式锁和隐式锁的区别有哪些?

答案部分

Oracle锁被自动执行,并且不要求用户干预的锁为隐式锁,或称为自动锁。对于SQL语句而言,隐式锁是必须的,依赖于被请求的动作。隐式锁是Oracle中使用最多的锁,执行任何DML语句都会触发隐式锁。通常用户不必声明要对谁加锁,而是Oracle自动为操作的对象加锁。用户可以使用命令明确的要求对某一对象加锁,这就是显式锁。显式锁定很少使用。

显式锁主要使用LOCK TABLE语句实现,LOCK TABLE没有触发行锁,只有TM表锁,主要有如下几种语句:

代码语言:javascript
复制
LOCK TABLE TABLE_NAME IN ROW SHARE MODE NOWAIT;   --2:RS
LOCK TABLE TABLE_NAME IN SHARE UPDATE MODE;  --2:RS
LOCK TABLE TABLE_NAME IN ROW EXCLUSIVE MODE NOWAIT; --3:RX
LOCK TABLE TABLE_NAME IN SHARE MODE; --4:S
LOCK TABLE TABLE_NAME IN SHARE ROW EXCLUSIVE MODE;  --5:SRX
LOCK TABLE TABLE_NAME IN EXCLUSIVE MODE NOWAIT; --6:X

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档