update A set qty=(select qty from B where id=A.id)

解决方案 »

  1.   

    update A set A.qty = (select B.qty from B where B.id=A.id)
      

  2.   

    为什么通过以上方法,提交后,oracle就一直处于执行状态?不返回数据,也不抱错。其中A表有1000条记录,B表有6条记录
      

  3.   

    Table A
    ID  VALUE
    0    0
    1    0
    2    0
    3    0Table B
    ID AID  VALUE
    1   2   2
    2   3   3
    3   5   5   
    要把表A中的VALUE更新为表B中的VALUE, 条件是A.ID 出现在 B.AID中. 
    有更新的更新, 没更新的保持原值, 在表A中不存在的不更新.
    具体如下 (更新后)表A
    ID  VALUE
    0   0    没更新的保持原值
    1   0 没更新的保持原值
    2   2    有更新的更新
    3   3    有更新的更新我使用了 czbbbs()  提供的SQL
    update A set A.VALUE = (
    select B.VALUE from B where A.ID=B.ID)
    得到的结果是
    ID  VALUE
    0      
    1   
    2   2   
    3   3   
    没更新的数据被清除掉了, 请问如何解决??
      

  4.   

    update 是不会返回数据的,提交后,oracle就一直处于执行状态是不是表上有trigger
      

  5.   

    如果一直处于执行状态,最好rollback一下。
    可能你的表,上锁了。
    检查一下。