oracle update from 问题!

来源:互联网 发布:mysql exist 编辑:程序博客网 时间:2024/06/08 09:31

 

想把t_tmprpt_firstreplycosttime 表中的3个字段数据更新为t_wf_suggesthis表中的suggesttime, suggester,substr(a.remark,instr(a.remark,'】',1)+2)的值。条件是t表的sreialno和serviceclassid都与a表中的相等。

 

问题:当我执行这条更新时候会把t表中的所有数据都更新了。

 

解决:oracle中没update from 这样的更新,可以考虑2种解决办法。

一,

   

 

这是类视图的更新方法,这也是oracle所独有的。

先把对应的数据全部抽取出来,然后更新表一样更新数据,这里需要注意的是,必须保证表的数据唯一性。

这就要求a,b两表的关联字段上都是具备唯一性的。

二,

这种就是使用子查询来确定更新的数据。