sql rowlock WITH (tablockx)
如果data表里有N条数据
存储过程:
如果就使用 rowlock with(tablockx) 是否会出现脏读,重复读?(多个进程同时调用这个存储过程)
谢谢!(只有23分了,哭~~~~~~)
存储过程:
declare @tmpId bigint
BEGIN TRANSACTION
SELECT top 1 @tmpId=Id FROM data rowlock WITH (tablockx) WHERE dstatus=0
update data set dstatus=1 where Id=@tmpId
select * from data where Id=@tmpId
COMMIT TRANSACTION
如果就使用 rowlock with(tablockx) 是否会出现脏读,重复读?(多个进程同时调用这个存储过程)
谢谢!(只有23分了,哭~~~~~~)
...全文
相关推荐
sqlserver2008锁表语句详解(锁定数据库一个表)
**TABLOCKX**: `SELECT * FROM table WITH (TABLOCKX)` 使用这个选项,SQL Server会在整个表上施加排他锁,这意味着其他事务既不能读取也不能修改表中的任何数据
C#的Sql server学习笔记
SELECT * FROM table WITH (TABLOCKX):** - **功能:** 此选项使得在读取数据时,SQL Server会对整个表加排他锁。
sql锁表与解锁
* TABLOCKX(排它表锁):在整个表上置排它锁,防止其他进程读取或修改表中的数据。* PAGLOCK(页锁):使用共享页锁。
SQL的锁机制
- 示例:`SELECT * FROM table WITH (TABLOCKX)`- **页级锁**:锁定特定页上的数据。
数据库,各种锁的概述
WITH (TABLOCKX);COMMIT TRANSACTION;```以上示例展示了如何在SQL Server中使用不同类型的锁来控制并发操作。


疑难问题
