易截截图软件、单文件、免安装、纯绿色、仅160KB

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锁不住一行的,会升级为页级锁或表级锁。

引用
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


相关问答:

jsp jdbc连接sqlserver 2000 出现问题

代码:

try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
con= DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost: ......

ACCESS繁体连接简体sqlserver2000

  我的数据库是简体sqlserver2000 ,我想在繁体access下连接,通过odbc是可以了,但在access下出现打开的表全中"#已删除"
不知道要怎么操作才可以用ACCESS繁体连接简体sqlserver2000.谢谢!!!
大家都 ......

求教 查看SqlServer执行过的存储过程状态

在SqlServer中如何查看历史上执行的存储过程的信息呢,如:传入参数,执行时间等等。如果不能查看历史记录,是否可以自己写触发器之类的,人工控制呢,在Oracle里面有动态视图可以随时查看历史执行的sql语句,SqlSer ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号