方法仅仅一个就是加锁!用事物!
但是你还要小心什么时候解锁!
不然会死锁的!
其实 sql server是自己默认加锁的!
你没有必要那马关系这个问题!

解决方案 »

  1.   

    只有一些小数据库才需要考虑这个问题,
       一般的解决方法:update table_name set 库存数量=库存数量 - 1 where ......
      

  2.   


    使用存储过程,进行事务操作。begin truncommit trun..
      

  3.   

    首先,谢谢大家的回复,我赞成运用事务和加锁和防止死锁,但能否给一个的具体例子,
    具体说就是如何执行事务,和在执行事务时保证在SQLSERVER方在某一时刻仅有一个事务工作(防止死锁)?
      

  4.   

    我也在研究这个问题,waiting for you...
      

  5.   

    可以通过设置事务的隔离级别来实现(isolation level),一般到了事务隔离的最高级别就可以基本保证是串行化执行事务的,呵呵。查看详细一点的请参看http://www.csdn.net/expert/topic/178/178403.shtm