转自:http://blog.itpub.net/25322446/viewspace-767505
说明:笔记总结了在工作中遇到过的几种update方法和各种方法适用的范围。
1.单表更新方案:使用标准update语法即可,执行稳定且效率较高
update table
set (column1,column2,...)=
value1,value2,...
;
2.多表关联更新举例:更新gkfq_rec表中所有slid与oa2_ftask表fi_inst相同的行,blzt字段值=oa2_ftask表的ft_lstate。
create table gkfq_rec (
slid char(12) parimary key,
blzt varchar2(50),
wjbt varchar2(100) not null,
........
);
create table oa2_ftask (
fi_inst char(12) parimary key,
fi_state int not null,
ft_lstate int not null,
...
);
方法描述
适用范围
运行效率
传统方案
一般情况适用
单表更新效率高且稳定,多表时效率较慢
inline view更新法
关联字段为主键
速度较快
merge更新法
关联字段非主键,适用于两表关联
非主键关联表更新,速度较快
快速游标更新