在一个procedure中,有一句UPDATE语句是某字段加1再赋值的(类似:update tb set col=col+1 where…..)。
  我想问的是:如果这个procedure很多user同时调用,在并发时会不会发生数值累计时漏计的情况?我设想的情况是:假设col现在是1000,如果两个user同时调用,那他们取到的值都是1000,同时update后,会变为1001,而不是理想中的1002。
  上述情况是否可能发生?如果可能发生,怎么避免这个问题呢?
    有人建议我使用sequence,但是需要同时需要累计的记录有上百个,并且每半小时要从零开始统计,使用sequence有相当的难度。是否还有其他的解决方法呢?