我有一张表取名demp  其中有字段A,字段B,字段C,然后我写update语句
update demp d set a=a+2,b=a+2,c=b+2请问各位,有什么办法能让b和c取到最新的值呢,比如初始值
A=2 B=2 C=2我想让语句执行一次,得到的结果是A=4 B=6 C=8

解决方案 »

  1.   

    一条语句,没有办法
    update demp d set a=a+2,b=a+4,c=b+6
      

  2.   


    可以做到:
    update demp d set a=a+2,b=a+b+2,c=c+a+b+2 ;
      

  3.   

    可以做到:
    update demp d set a=a+2,b=a+b+2,c=c+a+b+2 ;
    这样冒失不大行的通,我是后台写的SQL语句,到数据库后b=a+b+2中不一定有a字段的。
      

  4.   

    应该是不可能的了
    在一次读中oracle要保证数据一致性
    分写3条sql吧
      

  5.   


    update ta set a=a+2,b=(a+2)+2,c=((a+2)+2)+2;
      

  6.   


    update demp d set a=a+2,b=a+4,c=b+6要想获得最新要么触发器来 但是的考虑效率问题
      

  7.   

    可以考虑在update语句外面放上一个循环。每次更新一个值,第一次更新a,第次更新b...........