专栏首页小麦苗的DB宝专栏【DB笔试面试659】在Oracle中,SELECT ... FOR UPDATE加的是什么锁?

【DB笔试面试659】在Oracle中,SELECT ... FOR UPDATE加的是什么锁?

题目部分在Oracle中,SELECT ... FOR UPDATE加的是什么锁?

答案部分

SELECT ... FOR UPDATE语句的语法如下:

SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];

其中,这个OF子句在涉及到多个表时,具有较大作用。若不使用OF指定锁定的表的列,则所有表的相关行均被锁定。若在OF中指定了需修改的列,则只有与这些列相关的表的行才会被锁定。WAIT子句指定等待其他用户释放锁的秒数,防止无限期的等待。

“使用FOR UPDATE WAIT”子句的优点如下:

① 防止无限期地等待被锁定的行

② 允许应用程序中对锁的等待时间进行更多的控制

③ 对于交互式应用程序非常有用,因为这些用户不能等待不确定的时间

④ 若使用了SKIP LOCKED,则可以越过锁定的行,不会报告由wait n引发的“资源忙”异常报告

在Oracle 10g之前,SELECT ... FOR UPDATE获取的是2级TM锁,而从Oracle 10g开始,SELECT ... FOR UPDATE获取的是3级TM锁。

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

本文分享自微信公众号 - DB宝(xiaomaimiaolhr),作者:小麦苗best

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【DB笔试面试795】在Oracle中,什么是BBED?它有哪些作用?

    BBED(Block Brower and Editor)是用来直接查看和修改Oracle数据块的一个内部工具,它可以直接修改Oracle数据文件块的内容,在一...

    小麦苗DBA宝典
  • 【DB笔试面试630】在Oracle中,怎样收集表的统计信息?怎样收集分区表的统计信息?

    主要采用DBMS_STATS.GATHER_TABLE_STATS包进行统计信息的收集,如下所示:

    小麦苗DBA宝典
  • 【DB笔试面试683】在Oracle中,什么是ORA-01555错误?

    在告警日志中记录的ORA-01555(snapshot too old,快照过旧)报错信息类似:

    小麦苗DBA宝典
  • PHP中常用的七大框架的优点与缺点

    长期以来,PHPer一直在讨论各种PHP框架的优缺点,互联网上的信息相对分散。现在我收集并总结了几个主流框架,其中我只使用了yii2、laravel、YAF和T...

    叫我可儿呀
  • 科学计算拓展排序 sort_index sort_values值计数value_countsgroupby分组apply聚合

    前言:这里开始涉及到数据处理,例如给你几千行几千列的数据,对这些数据进行分类聚合 排序 sort_index sort_values 参数:asc...

    DC童生
  • CRM WebUI and Hybris的Product页面标题实现

    Controller只需实现IF_BSP_WD_HISTORY_STATE_DESCR~GET_STATE_DESCRIPTION方法:

    Jerry Wang
  • climits

    <climits>头文件定义的符号常量 CHAR_MIN       char的最小值 SCHAR_MAX      signed char 最大值 SCHAR...

    lpxxn
  • 网络时代,你的信息安全吗?你的信息在悄悄泄露,你知道吗?

    智能手机现在的普及率极高,大家使用网络平台端支付、消费、注册各种网站、软件,不少客户端需要上传本人身份证、银行卡等信息及照片,基本各大平台都注明:该信息不会透露...

    周俊辉
  • 2018腾讯、美团C++后台研发实习生面经

    牛客网
  • 免费使用“在线抓娃娃”SDK,APP变现最佳途径

    上星期,我们发布了一篇名为《即构科技推出全球首个一站式在线抓娃娃机解决方案》的文章,吸引了不少朋友对我们娃娃机方案的问询,但是仍有不少朋友高呼不过瘾,这不,小编...

    BestSDK

扫码关注云+社区

领取腾讯云代金券