用视图进行更新的效率和可行性问题
有一个表的某些字段的值的更新,是由其它多张表对应记录某些字段值所确定的.(其中用于参照的表和被更新的表有同名字段)
我想到两种方法:
一种就是在程序中,一次做一条,然后用循环对所有记录进行更新.
二,将这多张表连起来建一视图,然后直接对视图更新(批量的,一次即可完成)
第二种方法,是不是不建议,我问过很多有开发经验的人,他们都说视图是用于查询的,最好不要用更新.
请问这两种方法,哪种更好一些.或哪种更可行.
谢谢
问题点数:20、回复次数:4Top
1 楼olony(PCpig)回复于 2005-10-19 18:58:04 得分 20
这个我不太同意
第二种方法,是不是不建议,我问过很多有开发经验的人,他们都说视图是用于查询的,最好不要用更新.
既然有为什么不用哪,这么方便?
而且我们也建议在创建了一个表后,立刻创建一个这个表的视图,以后所有的操作都针对这个视图进行操作,而不是去直接修改表,可以看作是权限控制的一个层面Top
2 楼guandl(龙)回复于 2005-10-21 09:44:58 得分 0
Oracle专家高级编程的建议是:能用一句SQL解决就尽量用一条.
Top
3 楼waterfirer(水清)回复于 2005-10-21 10:04:53 得分 0
对表的批量更新也可以一条sql搞定,而不需要做循环
对视图的修改要注意,视图的更改需要唯一确定表的更改,不然的话,视图是无法更新的Top
4 楼Croatia(Croatia)回复于 2005-10-24 03:21:53 得分 0
视图的更新是有条件的。
你要用到多个表,这个视图是不可更新的。
Top




