一个用户在修改着表中的一条记录,
同时另一个用户也在修改这个表中的这个记录,不用 存储过程,事务什么的,,,,,,
有哪儿些思路,,,,,,谢谢,,分少点,全部家当了

解决方案 »

  1.   

    这不用担心 sql自己会处理的  你可以理解为一个人修改
    他会分时间先后的
      

  2.   

    sql server2005  不用管这个吗??   
      

  3.   

    http://blog.chinaunix.net/u/28418/showart_435167.html
      

  4.   

    MSSQL内部有对于锁的处理模式,你不需要从程序上去做吧
      

  5.   

    如果你只是仅仅执行一条update语句,可以不用考虑这个问题,
      

  6.   

    思路没有什么意思,正规大学学过数据库设计——而不是数据库系统使用——的都知道ACID之类的了!。我给你举个测试用例,假设两个人并行地向同一个账户里汇款,第一个人首先查询自己的账户金额和目标账户金额,同时第二个人也查询自己的账户余额和目标账户余额,然后第一个人使用update语句将自己的账户余额减少10000元而将目标账户增加了10000元,而同时另一个人也减少自己的账户5000元并将木目标账户增加了5000元,你会是什么结果?如果做不好,等着用户告你吧!每天陪10万元都不止!
      

  7.   

    数据库的加锁解锁机制,SQL SERVER管理系统自动帮你锁定!!!
      

  8.   

    不完全是一个技术问题,首先你要知道你所认为的那些动作,需要不需要考虑ACID。实际上有些动作是低级的数据库ACID也无法处理的,需要你在业务层做到自己的ACID控制。例如你的程序是卖网上卖剧院座位票的,一个单位用户在页面上首先查询自己感兴趣的某几排是否有自己需要的20个连续空座位,一旦找到就下单订票了。假设网络上正好有另外一个人把这20个座位中的一个订了呢?不能透过所谓的编程技术而考虑到业务处理细节(而仅仅是把业务需求高高在上,或者仅仅知道一点低级的编程术语),就不是专业的设计师了。
      

  9.   

    数据库的ACID也是无法处理的,所谓数据库锁,只应该维系几秒钟而已,否则其中一个客户怎么知道是别人锁住了数据库然后上厕所去了,还是你的系统瘫痪而数据库无法解锁了呢?因此“长事务”,不是仅仅使用数据库的事务处理,而是要在软件的业务流程设计上作出调整。但是总的来说,最低级的软件设计师也应该从数据库事务这个概念上学到点东西,而不是动不动就“不用事务什么的,,,,,,”。单纯学点技术没有什么意义,我相当讨厌知识分子了。如果你忽视了用户需求,甚至做出了潜在地每天会给用户损失几十万元钱、几百个客户的程序而还不知承担风险,这时候才需要学点技术。
      

  10.   

    谢谢大家,特别感谢下(sp1234) ,最近在csdn学到好多