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
相关问答:
mysql 有没有sqlserver的 规则功能
比如sqlserver的规则如下
create rule [IsSpecial] as @ in ('y','n')
他可以指定字段的值 的 取值范围
用约束可以实现
mysql 中没有这个RUL ......
Java code:
怎么将像下面的带特殊字符(单引号、百分号,双引号,#号,美元符号......)的字符串存入sqlserver的某个字段?
String mystring="
insert into T_PUB_RZGL(N_RZID,N_RZLX,N_BMDM,N_YGGH,C_RZNR ......
写了一个用C语言操作sqlserver数据库的程序,在我自己的计算机上运行没问题。但到另一台机器上运行时,SQLConnect函数连接数据库失败,仔细检查设置都没有发现问题,但该机器的操作系统是Windows Server 2003 Enterp ......
数据10W条以上,wm6.5平台,内存有限
C# code:
private void connserver()
{
Cursor.Current = Cursors.WaitCursor;
try
{
......