1.比如流水号表
001
002
003获取新流水号 select max(ls_h) from lsh
然后插入新流水号到 lsh如果用户1,用户2 同时操作的话 流水号 就会重复
2.判断出库 限制的时候
比如库存是100,用户1,用户2都同时出库100的话 库存就超了这怎么解决呢?

解决方案 »

  1.   

    数据库加锁,或者不要用这种顺序的规则作为主键,用随机生成的不重复数,比如guid,或者自己编个规则,保证每时每刻不重复
      

  2.   

    客户需要按年的方式 排序流水号...
    2010 00001  2010 00002用adoquery的话 怎么加锁呢?
      

  3.   

    用事务就可以吗?
    比如
    事务开始
    select kc_sl from kc   //查询库存数是100 
     update  kc  set kc_sl=kc_sl-100  // 出库100      
    事务结束两个用户都同时运行事务,事务不出错,就保存到数据库了,库存成-100了
      

  4.   


    select kc_sl from kc //查询库存数是100 
    中间加判断如果库存数大于出库数,则出库
     update kc set kc_sl=kc_sl-100 // 出库100  放在同一事物中不会出现你说的-100问题,请放心。
      

  5.   

    同意 bdmh 的说法,管理这些编号很麻烦,没必要自己维护,以后会很麻烦的