方法一:
UPDATE am_approve_list_log_sammy a
SET (a.emp_id, a.approver_sequence, a.approver_id) = (SELECT b.emp_id,
b.approver_sequence,
b.approver_id
FROM am_approve_list_sammy b
WHERE b.emp_id =
a.emp_id
AND b.approver_id =
a.approver_id)
WHERE EXISTS (SELECT 1
FROM am_approve_list_sammy c
WHERE c.emp_id = a.emp_id
AND c.approver_id = a.approver_id)
方法二:
update test1 a set name=(select name from test2 b where a.no=b.no) where
exists(select name from test2 b where a.no=b.no);
方法三:
涉及到效率问题可以参考下列语句:
update (select a.name aname,b.name bname from test1 a,test2 b where
a.no=b.no) set aname=bname;
不过有个前提,是给test2表的NO设为主键.
alter table test2 add primary key(no);
Oracle批量更新
最新推荐文章于 2022-06-05 16:48:26 发布