不用自己加锁,系统自己处理,比如:
--1)排它锁
--在第一个连接中执行以下语句
begin tran
update tb set A='aa' where B='b2'
waitfor delay '00:00:10' --等待10秒
commit tran--在第二个连接中执行以下语句
begin tran
select * from tb where B='b2'
commit tran
/**若同时执行上述两个语句,则select查询必须等待update执行完毕才能执行即要等待10秒,
**如果两个语句都是select操作,则两个select语句可以并行.
**只要第一句更新的行数大于零,则第二句必须等待。如果更新的行数等于零,不需要等待。
**如果使用select * from tb WITH ( NOLOCK) where B='b2',就不用等待,立即可以得到结果。
**/
--1)排它锁
--在第一个连接中执行以下语句
begin tran
update tb set A='aa' where B='b2'
waitfor delay '00:00:10' --等待10秒
commit tran--在第二个连接中执行以下语句
begin tran
select * from tb where B='b2'
commit tran
/**若同时执行上述两个语句,则select查询必须等待update执行完毕才能执行即要等待10秒,
**如果两个语句都是select操作,则两个select语句可以并行.
**只要第一句更新的行数大于零,则第二句必须等待。如果更新的行数等于零,不需要等待。
**如果使用select * from tb WITH ( NOLOCK) where B='b2',就不用等待,立即可以得到结果。
**/
解决方案 »
- SqlServer2005和SqlServer2008可以同时安装在同一台机器上吗
- SARG的定义
- 高分再问索引,两种方法哪种更优?
- 一个mssqlserver表最多可以存放多少数据??
- 子查询返回的结果多于一个
- 怎么对两个数据库中的同名表进行属性的比较?各位高手帮帮我吧
- 请问nvarchar和varchar,char有什么区别??
- 使用PowerDesigner设计的问题。请指教,解决马上给分~~~~~~~~~~~~~~~~~~~~~~
- 请问如何链接ms sql数据库显示比例饼图,万分感谢
- java 连接sqlserver 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused:
- 请教一SQL语句
- 求一条UPDATE语句
我用ADO连接的数据库请问这一句是不是要搞上去
怎么搞
没找到这个属性
(1)客户前台边显示的程序控制。
(2)数据库服务器边使用存储过程控制。
记住,每一条TSQL语句都是一个事务,也可以使用lock table语句。同理,select的时候可以
holdback。