SqlServer 锁的问题
SQL code:
begin tran
update EB with(rowlock) set Name='abc123' where Code=12 waitfor delay '00:00:13'
commit tran
我用rowlock想锁定一行,可是它把整个表都锁定了。不管我更新哪一条数据都要等这条更新完毕。
怎么才能锁定一条记录啊?
SQL SERVER锁不住一行的,会升级为页级锁或表级锁。
不能锁一行啊?
锁整个表 不太友好吧
update 好像本身会自己加行锁.
Code加上索引再试。
SQL code:
---参考:
◆问题描述
想在检索一批数据的同时,加上更新锁,以禁止其他端末的更新。不是表级,页级加锁,自然而然想到了行级加锁。
但是,发现检索出来的记录以外的数据也被加上锁了。 ◆问题分析
tabale
----------------------------------------------------字段 C1(key1) C2( key2) C3 ............
c1001 c2003 c3001
c1002 c2002 c3001
c1003 c2001 c3001索引 IX_TEST (C2,C1)
----------------------------------------------------用户A,用户B,公用部分SQL
set lock_timeout 0
begin transaction
select * from TEST with (index=IX_TEST,rowlock,updlock)CASE①
用户A
where C1 ='c1003'
结果-- c1003 c2001
相关问答:
代码:
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost: ......
我的数据库是简体sqlserver2000 ,我想在繁体access下连接,通过odbc是可以了,但在access下出现打开的表全中"#已删除"
不知道要怎么操作才可以用ACCESS繁体连接简体sqlserver2000.谢谢!!!
大家都 ......
在SqlServer中如何查看历史上执行的存储过程的信息呢,如:传入参数,执行时间等等。如果不能查看历史记录,是否可以自己写触发器之类的,人工控制呢,在Oracle里面有动态视图可以随时查看历史执行的sql语句,SqlSer ......