方法一: 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批量更新
猜你喜欢
转载自southking.iteye.com/blog/1727991
今日推荐
周排行