在一个用户向表中插入数据时,如何加锁阻止其它用户插入数据 本帖最后由 icecard 于 2010-09-28 22:14:22 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是因为加了表锁,导致其它的select语句其他的select语句+nolock select * from tb with(nolock) nolock可以,但要注意脏读问题。 我觉得你这个问题是数据结构有问题 斩草要除根id EventId Content1 100 aaaa2 100 bbbb3 100 cccc……1991 101 aaaa1992 100 xxxx1993 101 bbbb1994 101 cccc建议增加字段 OrderID 排序idid EventId Content OrderID1 100 aaaa 12 100 bbbb 23 100 cccc 3 ……1991 101 aaaa 11993 101 bbbb 21994 101 cccc 3这样就保持了对应关系。 对了 。 我们的qq群号 34764783 asp.net(C#)开发<二>欢迎加入讨论 insert into tab1select 101 as EventId,content from tab1 where EventId=100order by id;批量插入的情况下肯定是加锁的,所以你所说的其他用户插入是不会存在的,如果在批量处理的时候允许用户进行select操作,那设置允许脏读就可以了 后来我再仔细想了一下,即使有其它用户插入了数据,这个对照表也没有问题,因为新插入的行不会得到真正的新旧ID的对照关系。Old_id new_id1 19912 19933 19941992 null感谢大家的留言,这段时间一直忙工作,忘了来结贴,抱歉 如何显示数结构的层数 请问如何在金蝶查询分析器里增加字段显示颜色 求一SQL查询 散分!! 两表关联取A表部分字段,B表最小数据及其他的字段优化 SQLSERVER2000中定义全局变量 全文检索会影响系统性能吗? 这个怎么写呀 帮帮忙 ado怎么远程登陆通过Internet连接sqlServer数据库 帮帮看一下这个存储过程啊,为什么top 处老出错呢?,急,高分送出 SQL server int型的字段sum时溢出!! 如何在查询器里面生成表的脚步
其他的select语句+nolock
1 100 aaaa
2 100 bbbb
3 100 cccc
……
1991 101 aaaa
1992 100 xxxx
1993 101 bbbb
1994 101 cccc建议增加字段 OrderID 排序idid EventId Content OrderID
1 100 aaaa 1
2 100 bbbb 2
3 100 cccc 3
……
1991 101 aaaa 1
1993 101 bbbb 2
1994 101 cccc 3这样就保持了对应关系。
select 101 as EventId,content
from tab1
where EventId=100
order by id;
批量插入的情况下肯定是加锁的,所以你所说的其他用户插入是不会存在的,
如果在批量处理的时候允许用户进行select操作,那设置允许脏读就可以了
Old_id new_id
1 1991
2 1993
3 1994
1992 null感谢大家的留言,这段时间一直忙工作,忘了来结贴,抱歉