`
bestxiaok
  • 浏览: 452461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

for update和for update nowait

 
阅读更多
锁定表的所有行,排斥其他针对这个表的写操作。确保只有当前事务对指定表进行写操作。
for update 和 for update nowait的区别是,别的事务要对这个表进行写操作时,是等待一段时间还是马上就被数据库系统拒绝而返回。
分享到:
评论
3 楼 bestxiaok 2011-10-28  
for update 和 for update nowait
HyEidolon 写道
不够详细。。看得我比较蒙,楼主能跟我讲一下么?

而for update nowait的作用与for update相同,不同的是其他事务申请被锁定的行数据时是等待该事务释放资源,还是直接返回无法获得资源。
一般加上nowait操作比较好,不用再那墨迹,不过一般不会碰到这种情况。。。
2 楼 HyEidolon 2011-10-28  
不够详细。。看得我比较蒙,楼主能跟我讲一下么?
1 楼 HyEidolon 2011-10-28  
   不懂额 ~~

相关推荐

    for_update_和_for_update_nowait_的区别

    标题和描述均聚焦于Oracle数据库中`FOR UPDATE`与`FOR UPDATE NOWAIT`两种锁定机制的区别,这在并发控制和事务处理中具有重要的意义。在深入解析这两种指令之前,我们先来简要回顾一下锁定机制的基本概念。 在...

    数据库oracle for update of和for update的区别

    - `NOWAIT`选项用于`FOR UPDATE`语句中,表示如果无法立即获得锁,则立即返回错误而不是等待。 - 例如: ```sql SELECT * FROM Table1 WHERE pkid = 1 FOR UPDATE NOWAIT; ``` 如果此时另一会话已经锁定了该行...

    oracle中UPDATE nowait 的使用方法介绍

    下面将详细解释`UPDATE NOWAIT`的工作原理和应用场景。 1. **`UPDATE NOWAIT`的基本使用** 当你在执行`UPDATE`语句时加上`NOWAIT`选项,Oracle会尝试更新指定的行。如果这行数据当前已被其他事务锁定,`UPDATE NO...

    Python Sqlalchemy如何实现select for update

    sqlalchemy 对于行级锁有两种实现方式,with_lockmode(self, mode): 和 with_for_update(self, read=False, nowait=False, of=None),前者在sqlalchemy 0.9.0 被废弃,用后者代替。所以我们使用with_for_update ! 看...

    使用游标更新数据库

    CURSOR emp_cursor IS SELECT * FROM emp FOR UPDATE OF sal NOWAIT; v_comm NUMBER; BEGIN FOR r IN emp_cursor LOOP IF r.sal UPDATE emp SET sal = sal + 100 WHERE CURRENT OF emp_cursor; END IF; END ...

    基于oracle中锁的深入理解

    如果尝试在锁定期间执行DDL,可能会遇到`ORA-00054: resource busy and acquire with NOWAIT specified`错误。 5级锁在处理主外键约束的UPDATE或DELETE时出现,以确保参照完整性。当更新或删除涉及关联表的记录时,...

    二十二高级显式游标计算机教学课件.pptx

    比如,我们可以定义一个游标`emp_cursor`,查询30号部门的员工,并使用`FOR UPDATE OF sal NOWAIT`锁定每行的薪资字段`sal`,确保在更新操作执行前,这行数据不会被其他事务更改。 3. **WHERE CURRENT OF子句**: ...

    simple-tags

    * Add compatibility with WordPress 2.7, use new API for HTTP and Admin. No new features ! * Version 1.5.7 * Move autolink after ShortCodes * Add Italian and German translation * Fix a potential ...

    SQL Prompt_9.1.15.5260破解版

    SP-7005 : Formatting an UPDATE STATISTICS statement will no longer process out of scope parentheses and cause a "Can't align to a future token 'Update'" crash. SP-7021 : Aliases in quotes no longer ...

    cvs for linux安装文档1.2.1

    wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver log_on_failure += USERID protocol = tcp } ``` 其中,`--allow-root=/home/cvsroot`指定了Repository...

    Oracle数据库学习笔记 三

    在Oracle 9i中,FOR UPDATE WAIT子句引入,允许设置等待锁定的最长时间,避免无限制的等待状态。 表级锁则对整个表进行保护,有三种模式:共享锁、共享更新锁和排他锁。共享锁只允许查询,不允许插入、更新和删除;...

    Oracle并发问题处理

    SELECT * FROM EMP WHERE EMPNO = 7788 FOR UPDATE NOWAIT; ``` - **注意事项**:NOWAIT选项用于防止其他事务挂起或导致死锁情况发生。如果不希望立即返回错误,可以选择使用WAIT子句指定等待时间,如`FOR UPDATE...

    hibernate的乐观锁和悲观锁

    - `LockMode.UPGRADE_NOWAIT`:Oracle数据库特有的实现方式,利用`FOR UPDATE NOWAIT`子句实现加锁。 #### 三、乐观锁(Optimistic Locking) 乐观锁则假设数据不会被外部修改,因此不会主动锁定数据,而是在提交...

    oracle学习资料3

    `FOR UPDATE NOWAIT`则会立即返回错误,如果锁定无法立即获得。 2. 表级锁(Table-Level Locks) 表级锁是对整个表进行锁定,分为共享锁(Share Mode)和独占锁(Exclusive Mode)。共享锁允许其他用户读取表,但不...

    ORACLE资料

    #### NOWAIT 和 WAIT 参数 - **NOWAIT**:如果不能立即获得锁,则会立即抛出错误。 - **WAIT integer**:等待指定秒数,如果在此时间内未能获得锁,则抛出错误。 示例: ```sql LOCK TABLE tanjie21 IN ROW SHARE ...

    Oracle锁和表分区

    使用`LOCK TABLE`语句可以设置表级锁,并可选择`NOWAIT`选项避免等待锁。 2. **表分区**:表分区是Oracle数据库中一种高级的数据组织技术,用于提升查询性能和管理大规模数据的效率。表分区将一个大表分成逻辑上...

    Oracle锁表问题的简捷处理技巧

    需要注意的是,这种锁定方式默认会阻止其他事务对该行的读取操作(除非指定`FOR UPDATE NOWAIT`)。 - 例如: ```sql SELECT * FROM table_name WHERE condition FOR UPDATE; ``` 3. **插入、更新和删除时的行...

Global site tag (gtag.js) - Google Analytics