update t1 set t1.instancecount=t2.instancecount from TT_V_T_2 t1,tt_v_t2 t2 where t1.ActivityName = t2.ActivityName在sql里面可以这样来修改数据,但是在oracle里面要怎么转换才能修改?求解答
update t1 set instancecount= (select t2.instancecount from TT_V_T_2 t1,tt_v_t2 t2 where t1.ActivityName = t2.ActivityName)
+1 非常正解,用标准SQL的话。
采用select 和updateupdate ( 里面是关联的SQL )
楼主的方法不可行么? 1楼的法子,前两天在ACCESS里用到了。。
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)
update t1
set instancecount=
(select t2.instancecount
from TT_V_T_2 t1,tt_v_t2 t2
where t1.ActivityName = t2.ActivityName)
+1 非常正解,用标准SQL的话。
(
里面是关联的SQL
)
1楼的法子,前两天在ACCESS里用到了。。
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)
oracle 在进行update操作时,最好加上exists判断,以防出现空值。