oracle行锁 查询等待,Oracle 的for update行锁语法
SELECT...FOR UPDATE 语句的语法如下:
SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];
其中:
OF 子句用于指定即将更新的列,即锁定行上的特定列。
WAIT 子句指定等待其他用户释放锁的秒数,防止无限期的等待。
“使用FOR UPDATE WAIT”子句的优点如下:
1防止无限期地等待被锁定的行;
2允许应用程序中对锁的等待时间进行更多的控制。
3对于交互式应用程序非常有用,因为这些用户不能等待不确定
4 若使用了skip locked,则可以越过锁定的行,不会报告由wait n 引发的‘资源忙’异常报告
示例:
create table t(a varchar2(20),b varchar2(20));
insert into t values('1','1');
insert into t values('2','2');
insert into t values('3','3');
insert into t values('4','4');
现在执行如下操作:
在plsql develope中打开两个sql窗口,
在1窗口中运行sql
select * from t where a='1' for update;
在2窗口中运行sql1
1. select * from t where a='1'; 这一点问题也没有,因为行级锁不会影响纯粹的select语句
再运行sql2
2. select * from t where a='1' for update; 则这一句sql在执行时,永远处于等待状态,除非窗口1中sql被提交或回滚。
如何才能让sql2不等待或等待指定的时间呢? 我们再运行sql3
3. select * from t where a='1' for update nowait; 则在执行此sql时,直接报资源忙的异常。
若执行 select * from t where a='1' for update wait 6; 则在等待6秒后,报 资源忙的异常。
如果我们执行sql4
4. select * from t where a='1' for update nowait skip Locked; 则执行sql时,即不等待,也不报资源忙异常。
现在我们看看执行如下操作将会发生什么呢?
在窗口1中执行:
select * from t where rownum
oracle行锁 查询等待,Oracle 的for update行锁语法相关推荐
- oracle之子查询_,Oracle子查询详解
Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...
- oracle 跨分区查询效率,Oracle分区表做跨分区查询
问:有一张大表,其中按时间字段(TIME_ID)进行表分区(按季度分区),但是如果业务人员做跨季度的大批量数据的查询时,未能走TIME_ID分区索引,导致全表扫描.此种情况该如何处理? 示例解析: 1 ...
- oracle标量子查询 外层,Oracle标量子查询
Oracle标量子查询 ORACLE允许在select子句中包含单行子查询, 使用标量子查询可以有效的改善性能,当使用到外部连接,或者使用到了聚合函数,就可以考虑标量子查询的可能性. 下面来看几个例子 ...
- oracle sq语句查询时间,Oracle实现查询时间段的Sql语句两法
Oracle实现查询时间段的Sql语句两法,相比ORacle要查询时间段的Sql语句还是与Sql Server的Sql语句有区别的,下面举两种方法来说明在ORacle是如何查询时间段的: 第一种方法: ...
- oracle删除表不等待,oracle故障处理之删除大表空间hang住
背景 数据库分区表数据越来越大,需要对过期话的数据进行迁移,以及大的分区表需要进行数据的清理和删除,达到释放磁盘空间的目的. 问题说明 环境:linux 6.X 数据库:oracle 11.2.0.4 ...
- oracle中导出查询结果,Oracle SQL 查询结果导出到文本或Excel文件方法
(MEMO:利用spool缓冲池技术) 具体步骤如下: 1.在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件路径和文件名 spool d:\output.txt 2.在命令中输入相应的 ...
- oracle基本的查询语句,oracle 基本查询语句及实例
1.查询所有列 select * from 表名: 2.查询表结构 desc 表名: 3.查询指定列 select ename,sal,job from 表名: 4.racle中查看所有表和字段 获取 ...
- oracle多表查询while,oracle while的用法示例分享
当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表.因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少.临时表在一次查询结束自动清除. 一般语法格式: 复制代 ...
- oracle存储过程导出查询结果,ORACLE如何实现函数、包、存储过程的导入和导出
建 议可以用常规的检查,检查一下:数据字典信息/exp 导出结构检查 1.检查 SELECT * FROM ALL_SOURCE t WHERE T.OWNER = '要查询用户' AND t.TYP ...
最新文章
- mysql数字转换中文版_MYSQL字符数字转换
- cpu的内容——cu的功能。操作命令的分析 || 微程序设计思想
- MPL,MIL和MCL
- php 函数分类,PHP Array 函数
- P6085-[JSOI2013]吃货JYY【状压dp,欧拉回路】
- LeetCode 1455. 检查单词是否为句中其他单词的前缀
- qt中颜色对话框弹出时应用程序输出栏出现QWindowsWindow::setGeometry: Unable to set geometry 180x30+345+311 (frame: 202x8
- MyBatis学习总结(27)——Mybatis-Plus使用小技巧
- python计算2的20次方_Python学习二运算符
- arcgis数据量大显示慢_优化MapGIS地图显示速度我的七个方法
- BUUCTF Misc Page2-6部分题目
- GitHub项目推荐
- 新视野大学英语(第三版) 读写教程4 课后答案
- es 安装拼音分词器 以及使用
- html弹性布局什么意思,弹性布局display:flex是什么意思
- 2024 递归Eason
- 内存屏障(Memory Barrier)(一)什么是写屏障?
- password unchanged Authentication token manipulation error
- 下载及安装NCCL教程
- Linux进阶 | 实现负载均衡高可用(LB+HA)Web服务
热门文章
- java 坦克重叠_【Java】我所知道坦克大战(单机版)之画出坦克的实心圆、让圆动起来、双缓冲解决闪烁问题...
- python numpy中对ndarry按照index(位置下标)增删改查
- oxm java_使用JAXB2.0实现OXM
- jenkins 用户授权
- Unity搭建简单的图片服务器
- 9.22 keep studying
- Python网络爬虫与信息提取[request库的应用](单元一)
- WPF下递归生成树形数据绑定到TreeView上
- 漫谈惯性、视觉暂留、潜意识、混合动力发动机、先入为主 - 纯粹的无厘头?...
- LeetCode OJ Symmetric Tree 判断是否为对称树(AC代码)