加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle:更新语句没有守候/没有失败

发布时间:2021-04-01 03:25:06 所属栏目:站长百科 来源:网络整理
导读:我在多应用措施情形中有很多竞争更新语句.按照今朝的计划,死锁频仍. 若有须要,可以跳过除一个更新之外的全部更新,并在下一个时距离断更新. 我可以将NOWAIT应用于更新声明吗?当无法得到锁按时,我可以让我的声明无声地失败吗?我可以指定实行获取锁定的时刻吗

我在多应用措施情形中有很多竞争更新语句.按照今朝的计划,死锁频仍.

若有须要,可以跳过除一个更新之外的全部更新,并在下一个时距离断更新.

我可以将NOWAIT应用于更新声明吗?当无法得到锁按时,我可以让我的声明无声地失败吗?我可以指定实行获取锁定的时刻吗?

办理要领

不能在update语句中指定NOWAIT – 必需在SELECT FOR UPDATE语句中指定NOWAIT.

是的,您可以静默地使select更新失败 – 假如您指定NOWAIT并处理赏罚天生的非常:

BEGIN
  SELECT x FROM table FOR UPDATE NOWAIT;
EXCEPTION
  WHEN OTHERS THEN
    <handle exception>
END;

是的,可以指定一段时刻守候.在上例中取代NOWAIT,指定WAIT n,个中n是守候锁定的秒数.假如你在那段时刻内无法得到锁定,它将再次失败,行使ORA-00054,您可以像早年一样处理赏罚.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读