sql sql server 加行锁注意事项(防止锁全表)
来源:互联网 发布:奋斗 电视剧 知乎 编辑:程序博客网 时间:2024/05/16 11:56
sql sql server 加行锁注意事项(防止锁全表)
实例:
BEGIN TRAN
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SET LOCK_TIMEOUT 5000
--初始化分配一个@sn
declare @SN varchar(20)
select top 1 @SN=SN
from Tablename WITH ( ROWLOCK, UPDLOCK )
where Data_Flag<>'acb'
order by CIG_SN
update SF_Cp_Detail
set Data_Flag='acb'
where CIG_SN=@CIG_SN
COMMIT TRAN;
1.加行锁时 必套在事物中 (BEGIN TRAN ..... COMMIT TRAN;)
2.加行锁时不能使用微软的函数,如我改成如下:
BEGIN TRAN
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SET LOCK_TIMEOUT 5000
--初始化分配一个@sn
declare @SN varchar(20)
select @SN=min(SN)
from Tablename WITH ( ROWLOCK, UPDLOCK )
where Data_Flag<>'acb'
update Tablename
set Data_Flag='acb'
where SN=@SN
虽然并发时锁加的成功,但是因为MIn本身含有事物,导致锁全表,而不是锁一行
COMMIT TRAN;
- sql sql server 加行锁注意事项(防止锁全表)
- SQL Server注意事项
- Sql Server 安装注意事项
- SQL Server 安装注意事项
- Sql Server 注入防止办法
- SQL Server防止重复插入
- 防止SQL注入攻击的注意事项
- 防止SQL注入攻击的注意事项【转载】
- SQL Server的若干注意事项
- sql server备份恢复注意事项
- SQL Server 2005 安装注意事项
- SQL Server 2008安装注意事项
- SQL Server 2008安装注意事项
- 安装SQL Server 2008注意事项
- SQL Server数据库的注意事项
- SQL Server表分区注意事项
- SQL Server 2012 安装注意事项
- sql server 插入中文 防止乱码
- MongoDB for循环插入数据至死循环问题
- Java编程中十大最糟糕的事情
- Android反编译已经混淆的app
- centos 安装redis java简单测试
- 【Java并发编程实战】—–“J.U.C”:CountDownlatch
- sql sql server 加行锁注意事项(防止锁全表)
- struts2实现单文件或者多文件上传和单文件下载
- mongodb在shell运行javascript脚本
- iOS 汉字转换为拼音
- Maven管理非中心库jar包
- centOS下PHP使用mongodb详细安装过程
- AutoLayout详解
- Java 反射
- it 's time to turn to java