当前位置: 代码迷 >> Sql Server >> 请教在多用户情况下如何避免并发操作
  详细解决方案

请教在多用户情况下如何避免并发操作

热度:49   发布时间:2016-04-24 08:57:38.0
请问在多用户情况下如何处理并发操作
本来用的是access,各个客户机用自己的数据库。保存表时先insert一个主表,用select max(id)获得这个表的id,然后在明细表时把id存到“主表id”字段中。现在需要把不同数据库合并,把程序变成多用户的,以后用sqlserver处理。其他细节虽然麻烦但是可以改。只是在多用户情况下如何确保主表id和明细表对应字段相同?因为还用老方法的话可能一个人insert主表,select max(id)之前另外一个人也insert一个主表,这样表明细就串了。请问如何处理?谢谢。
------解决思路----------------------
insert主表,select max(id) 放入一个transaction中
------解决思路----------------------
使用事务,并且需要在repeatable read隔离级别下。

当前,你需要先补充一些数据库技术知识才行。
  相关解决方案