oracle中行级锁与表级锁
来源:互联网 发布:ros bumper Python 编辑:程序博客网 时间:2024/05/18 03:30
最近使用oracle时,如果并发状态插入数据则会造成数据重复,这时候需要使用oracle的锁机制,下面是常用的oracle锁表方法。
一、行级锁:
(下面这句将给该表的所有行都加上锁)
select * from person for update;
如果该行记录已经被锁定,就不用等待,系统会直接抛错 ora-00054
select * from person where id = '1' for update nowait
如果该行记录已经被锁定,更新的时候等待5秒,如果这5秒内,该行记录被解锁,那么返回查询结果,如果5秒内仍未解锁,那么系统会直接抛错 ora-00054
select * from person for update wait 5;
另外,如果使用 select * from person where id = '1' for update ,当该行记录已经被锁定时,那么系统将一直等待该行记录被释放后,再加锁。
二、表级锁:
行共享:允许用户进行任何操作,禁止排他锁
lock table person in row share mode;
行排他:允许用户进行任何操作,禁止共享锁
lock table person in row exclusive mode;
共享锁:其他用户只能看,不能修改
lock table person in share mode;
共享行排他:比共享锁有更多限制
lock table person in share row exclusive mode;
排他锁:其他用户只能看,不能修改,不能加其他锁
lock table person in exclusive mode;
对于通过lock table命令主动添加的锁定来说,如果要释放它们,只需要发出rollback命令即可。
- oracle中行级锁与表级锁
- oracle 中行列转换
- oracle中行转列
- CSS中行内元素与块级元素
- HTML中行内元素与块级元素的区别
- Oracle中行列转换方法...
- Oracle中行转列案例
- oracle中行数据转换列数据
- Oracle数据库中行转列(转)
- oracle中行转列的函数
- Oracle数据库中行数的表达rownum
- oracle中行,列的转换(列求和)
- oracle中行转列语句参考
- oracle中行转列的实现
- QlikView中行级权限设置
- CSS中行内元素与块级元素-FF浏览器dt中的h2,h3溢出
- 中行高层EMBA班《组织级项目管理与最佳实践》培训圆满结束!
- HTML中行内元素与块级元素有哪些及区别 (网易博客)
- iOS开发之ViewController的生命周期分析和使用
- 商业智能掌控ERP金蝶BI前景被看好的点
- newInstance() 和 new 区别
- ubuntu14.04confluence5.4.4、5.6.6、5.9.4破解版安装
- Ubuntu搜狗输入法
- oracle中行级锁与表级锁
- C/C++: 指针数组、数组指针、定长数组
- wnmp(windows+nginx+mysql+php)的环境搭建和配置
- LeetCode刷题【Array】 Word Search
- Java中抽象类和接口区别
- 快速创建表的方法
- linux下tomcat 80端口被占用的解决方法
- IntelliJ Idea 常用快捷键列表
- Linux安装Redis服务