update t1 set t1.instancecount=t2.instancecount from TT_V_T_2 t1,tt_v_t2 t2 where t1.ActivityName = t2.ActivityName在sql里面可以这样来修改数据,但是在oracle里面要怎么转换才能修改?求解答

解决方案 »

  1.   


    update t1 
    set instancecount=
    (select t2.instancecount 
    from TT_V_T_2 t1,tt_v_t2 t2 
    where t1.ActivityName = t2.ActivityName)
      

  2.   


    +1  非常正解,用标准SQL的话。
      

  3.   

    采用select 和updateupdate
    (
    里面是关联的SQL
    )
      

  4.   

    楼主的方法不可行么?
    1楼的法子,前两天在ACCESS里用到了。。
      

  5.   


    update TT_V_T_2 t1
    set instancecount=(select t2.instancecount 
                       from tt_v_t2 t2 
                       where t1.ActivityName = t2.ActivityName)
    --后面的最好还是要上 
    --要不然不符合t1.ActivityName = t2.ActivityName 的instancecount将会被修改为null
    where exists(select 1 from tt_v_t2 t2 
                 where t1.ActivityName = t2.ActivityName)
      

  6.   


    oracle 在进行update操作时,最好加上exists判断,以防出现空值。
      

  7.   

    exists判断,以防出现空值,这点很好。