当前位置: 代码迷 >> Oracle技术 >> Oracle更新数据有关问题。求大神来解决
  详细解决方案

Oracle更新数据有关问题。求大神来解决

热度:247   发布时间:2016-04-24 08:06:11.0
Oracle更新数据问题。。求大神来解决啊
select t1.org_alias,t2.stats_name,t.complete_val,t.years,t.months,t.plan_val,t.predict_val,t.advise_val,t.remarks
  from pd_t_stats_data t, pd_t_org_config t1, pd_t_dict_stats t2
 where t.org_id = t1.org_id
   and t.STATS_id = t2.stats_id
   and t.RPT_ID = 'SJB_S02'
   and t.org_id = '22143'
   and t.years = '2012' 
   and t.months = '11'
   for update

本来想用for update来进行多表关联,然后手动将个别数据更新,可是小锁头能打开,但是点击小对勾的时候却报ROWID无效的错误,求大神帮忙或者提供个别的方法啊。。

------解决思路----------------------
update是对单个表进行操作吧,你这个update的对象不是单个表啊.你可以建个临时表然后update数据.
或者你确定是更新哪个表的数据,然后用update表名set...............where.............
------解决思路----------------------
引用:
Quote: 引用:

for update不能同时改两个表的数据,可以分开改

select t1.org_alias,t2.stats_name,t.complete_val,t.years,t.months,t.plan_val,t.predict_val,t.advise_val,t.remarks   from pd_t_stats_data t, pd_t_org_config t1, pd_t_dict_stats t2  where t.org_id = t1.org_id    and t.STATS_id = t2.stats_id    and t.RPT_ID = 'SJB_S02'   and t.org_id = '22143'   and t.years = '2012'    and t.months = '11'   for update of t1.org_alias

类似这样,先改t1,再改t2,......


非常非常感谢你,想要的就是这样的结果,
再问一下:用这个可以将两个表中的两个字段,分别更新吗?
就是 for update of t1.org_alias,t.years这样,想更新几个字段都可以吗?

不行的,就像我上面说的,只能一个表一个表这样改,可以改一个表的多个字段
  相关解决方案