Oracle更新数据的方法

1.普通更新update

    当你需要更新的表是单个或者被更新的字段不需要关联其他表带过来,则最后选择标准的update语句,

速度最快,稳定性最好,并返回影响条数。如果where条件中的字段加上索引,那么更新效率就更高。

但对需要关联表更新字段时,update的效率就非常差。

2.inline view更新法

inline view更新法就是更新一个临时建立的视图。

update (select a.blzt as blzt,b.ft_lstate as ft_lstate
from gkfq_rec a,oa2_ftask b where a.slid=b.fi_inst) 
set blzt=ft_lstate;

3.merge into 更新法

MERGE INTO 表名 alias 1
USING (table|view|sub_query) alias 2
ON (join condition两个表的关联条件)
WHEN MATCHED THEN
UPDATE 
SET alias1.col=alias2.col
WHEN NOT MATCHED THEN
INSERT (column_list) VALUES (column_values);

 方法描述

 适用范围

 运行效率

 传统方案  一般情况适用  单表更新效率高且稳定,多表时效率较慢
 inline view更新法  关联字段为主键  速度较快
 merge更新法  关联字段非主键,适用于两表关联  非主键关联表更新,速度较快
 快速游标更新法  逻辑较复杂的情况  复杂逻辑时效率很高



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值