select * from salgrade for update和select * from salgrade for update nowait区别
1,select * from salgrade for update
| session1 | session2 |
|
SQL> delete salgrade where grade=1; 1 row deleted. |
|
|
SQL> select * from salgrade for update; 此时session2被阻塞 |
|
|
SQL> rollback; Rollback complete. |
|
|
GRADE LOSAL HISAL |
|
| SQL> delete salgrade where grade=1; session1被阻塞 |
|
|
SQL> rollback; Rollback complete. |
|
|
1 row deleted. session1获得资源,执行完毕 |
总结来看,select * from salgrade for update有以下特征:
①如果结果集已经被另一个会话锁定,就会发生阻塞。需要等另一个会话结束之后才可继续执行。
②它会对结果集加锁
2,select * from salgrade for update nowait
| session1 | session2 |
|
SQL> delete salgrade where grade=1; 1 row deleted. |
|
|
SQL> select * from salgrade for update nowait; |
|
|
SQL> rollback; Rollback complete. |
|
|
SQL> select * from salgrade for update nowait; GRADE LOSAL HISAL |
|
| SQL> delete salgrade where grade=1;
session1此时被阻塞 |
|
|
SQL> rollback; Rollback complete. |
|
|
1 row deleted. session1得到资源,执行完毕 |
总结来看,select * from salgrade for update nowait有以下特征:
①如果结果集已经被另一个会话锁定,会立即返回ORA-00054错误
②该语句本身同样也会对结果集加锁
综合总结,这两句语句的作用都是对结果集加排他锁,禁止其他会话做DML作业,如果希望在select期间,结果集不被修改,即可以选择这种方式。
select * from salgrade for update和select * from salgrade for update nowait区别的更多相关文章
- 浅谈select for update 和select lock in share mode的区别
有些情况下为了保证数据逻辑的一致性,需要对SELECT的操作加锁.InnoDB存储引擎对于SELECT语句支持两种一致性的锁定读(locking read)操作. . SELECT …… FOR UP ...
- select for update和select for update wait和select for update nowait的区别
CREATE TABLE "TEST6" ( "ID" ), "NAME" ), "AGE" ,), "SEX ...
- 深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
概念和区别 SELECT ... LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他session可以读取这些记录,也可以继续添加IS ...
- Mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。
将select出的结果再通过中间表select一遍,这样就规避了错误.注意,这个问题只出现于mysql,mssql和oracle不会出现此问题. mysql中You can't specify tar ...
- [MySQL] 行级锁SELECT ... LOCK IN SHARE MODE 和 SELECT ... FOR UPDATE
一.译文 翻译来自官方文档:Locking Reads If you query data and then insert or update related data within the same ...
- Update和Select结合统计更新
Update和Select结合统计更新 update table_a set updatetime=getdate(), name=b.name from (select name,age from ...
- SELECT ... FOR UPDATE or SELECT ... FOR SHARE Locking Reads session
小结: 1.注意使用限制 Locking reads are only possible when autocommit is disabled (either by beginning transa ...
- Oracle update和select 关联
Oracle update和select 关联 目录 Oracle update和select 关联 1.介绍 2.解决方法 2.1.需求 2.2.错误演示 2.3.解决方法 1.介绍 本文主要向大家 ...
- 批量 1 insert into select 2 sqldataadapter.update 3 SELECT INTO FROM (要求目标表不存在) 4 AddRange(ef) 5 MySqlBulkLoader.Load() 6 BatchInsert 7 insert bulk
insert into a(col1,col2) select top 1 '1','2' from a union select top 1 '3','4' from a SELECT IN ...
- mysql select不使用任何锁(select with nolock)
在ms sql中可以通过with(nolock)选项指定查询不锁表,在mysql中没有这个选项,需要通过set语句来设置不锁表: SET TRANSACTION ISOLATION LEVEL REA ...
随机推荐
- hadoop学习过程中一系列问题
12---修改host .修改主机名5.1 修改当前会话的主机名sudo hostname SY-0217查看当前会话的主机名hostname默认是我装Linux 虚机时输入的名字Ubuntu5.2 ...
- [Git]在Windows上安装Git
Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Git也一样.Cygwin的安装和配置都比较复杂,就不建议你折腾了.不过,有高人已经把模拟环境和Git都打包好了 ...
- yuv转bmp
#ifdef _INTERFACE_H #error _INTERFACE_H has be exsisted #else #define _INTERFACE_H #include "st ...
- C++ 代码头注释模板
/********************************************************************************* *Copyright(C),You ...
- Lake Counting_深度搜索_递归
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30414 Accepted: 15195 D ...
- Match:DNA repair(POJ 3691)
基因修复 题目大意:给定一些坏串,再给你一个字符串,要你修复这个字符串(AGTC随便换),使之不含任何坏串,求修复所需要的最小步数. 这一题也是和之前的那个1625的思想是一样的,通过特殊的trie树 ...
- 【XLL 框架库函数】 InitFramework
初始化框架库,它是简单的初始化临时 XLOPER/XLOPER12 内存结构,释放任何已经分配的内存. short WINAPI InitFramework(void); 参数 这个函数没有参数 备注 ...
- js方法类库封装的简易示例
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></s ...
- stdafx.h的作用
// stdafx.h : include file for standard system include files,// or project specific include files th ...
- App Store审核被拒的23个理由
原文地址 iOS 应用提交审核要持续一周或者更久,在提交之前,我们一定要进行「自我审查」,避免被拒.ASO100 为大家收集整理了2015年 App Store 审核被拒的23个理由,并且附上官方拒绝 ...