应该不会,因为你先有个锁表的过程,如果你把表锁住,另一个人就不能锁住表,他只能等你进行COMMIT之后才能就行LOCK,这样的话取到的值也是你UPDATE过后的值。

解决方案 »

  1.   

    应该不会,因为你先有个锁表的过程,如果你把表锁住,另一个人就不能锁住表,他只能等你进行COMMIT之后才能就行LOCK,这样的话取到的值也是你UPDATE过后的值。
    是啊 我也是这样想的 但是客户说取出来会有重复的值 就搞不懂为什么了
      

  2.   

    应该不会,因为你先有个锁表的过程,如果你把表锁住,另一个人就不能锁住表,他只能等你进行COMMIT之后才能就行LOCK,这样的话取到的值也是你UPDATE过后的值。
    是啊 我也是这样想的 但是客户说取出来会有重复的值 就搞不懂为什么了
    尝试了一下,发现好像不是我们想的那样,锁住表的过程,另一个人只不过是不能提交,保险起见,建议用sequence来做
      

  3.   

    应该不会,因为你先有个锁表的过程,如果你把表锁住,另一个人就不能锁住表,他只能等你进行COMMIT之后才能就行LOCK,这样的话取到的值也是你UPDATE过后的值。
    是啊 我也是这样想的 但是客户说取出来会有重复的值 就搞不懂为什么了
    尝试了一下,发现好像不是我们想的那样,锁住表的过程,另一个人只不过是不能提交,保险起见,建议用sequence来做
    我测试锁住一个表 另外一个存储过程在执行的时候 就不能去锁这个表里 会等待第一个提交之后才能再去锁定的。 你用什么工具测试的?
      

  4.   

    应该不会,因为你先有个锁表的过程,如果你把表锁住,另一个人就不能锁住表,他只能等你进行COMMIT之后才能就行LOCK,这样的话取到的值也是你UPDATE过后的值。
    是啊 我也是这样想的 但是客户说取出来会有重复的值 就搞不懂为什么了
    尝试了一下,发现好像不是我们想的那样,锁住表的过程,另一个人只不过是不能提交,保险起见,建议用sequence来做
    我测试锁住一个表 另外一个存储过程在执行的时候 就不能去锁这个表里 会等待第一个提交之后才能再去锁定的。 你用什么工具测试的?
    直接在命令行输入锁表命令和update,不要COMMIT,
    再打开一个窗口进行update。
    这样你可以模拟出多个session操作
      

  5.   

    我用cmd模拟是一个cmd窗口 执行锁表 再 update 不提交 另外一个cmd窗口再执行update 相同表的时候 会等待第一个提交的