时间:2021-05-02
Oracle有许多的锁,各种锁的效用是不一样的。下面重点介绍Oracle行级锁,Oracle行级锁只对用户正在访问的行进行锁定。可以更好的保证数据的安全性。
如果该用户正在修改某行,那么其他用户就可以更新同一表中该行之外的数据。
Oracle行级锁是一种排他锁,防止其他事务修改此行,但是不会阻止读取此行的操作。
在使用INSERT、UPDATE、DELETE 和SELECT…FOR UPDATE 等 语句时,Oracle会自动应用Oracle行级锁行级锁锁定。SELECT...FOR UPDATE 语句允许用户每次选择多行记录进行更新,这些记录会被锁定,且只能由发起查询的用户进行编辑。只有在回滚或提交事务之后,锁定才会释放,其他用户才可以编辑这些记录。
SELECT...FOR UPDATE 语句的语法如下:
复制代码 代码如下:
SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];
复制代码 代码如下:
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');
复制代码 代码如下:
select * from t where a='1' for update;
复制代码 代码如下:
1. select * from t where a='1';
复制代码 代码如下:
2. select * from t where a='1' for update;
复制代码 代码如下:
select * from t where a='1' for update nowait;
复制代码 代码如下:
select * from t where a='1' for update wait 6;
复制代码 代码如下:
select * from t where a='1' for update nowait skip Locke d;
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
MySQL中的锁机制,按粒度分为行级锁,页级锁,表级锁,其中按用法还分为共享锁和排他锁.**行级锁**行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操
MySQL中的锁机制,按粒度分为行级锁,页级锁,表级锁,其中按用法还分为共享锁和排他锁.**行级锁**行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操
本文内容•软件环境•简单演示Oracle数据库并发导致行级锁本文简单演示针对表主键并发导致的行级锁。并发是两个以上的用户对同样的数据进行
正在看的ORACLE教程是:基于Oracle的面向对象技术入门基础简析开发者网络Oracle。一、概述 对象是Oracle8i以上版本中的一个新的特性,对象实
正在看的ORACLE教程是:Oracle的数据字典技术简析。数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建