AI智能
改变未来

oracle update 更新表的问题

        今天碰到一个非常奇怪的问题,用update 语句多次更新一个表后,只保存最后一次结果,用了各种手段,都百思不得其解。后来问别人,别人说全表更新没有加条件限制。还是郁闷,什么全表更新,条件限制…..在看那个表,然后再仔细想想…..才恍然大悟。原来每一次更新都更新整个表,以前更新的都给覆盖了。因此 就加了个 where table.feild is null 限制更新。搞定………

举个栗子如下:      

update table set table1.field1 =(select table2.field2 where table2...)

改进后,就不会执行全表扫描了:

update table set table1.field1 =(select table2.field2 where table2...) where table1.field1 is null

 

转载于:Oracle/3522527

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » oracle update 更新表的问题