关于UPDATE语句
一般的update语句格式比较简单,由where过滤子句和set子句组成。
当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。
一般的update语句格式比较简单,由where过滤子句和set子句组成。
当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。
对于这种情况,Sybase和SQL SERVER的解决办法是使用UPDATE...SET...FROM...WHERE...的语法,实际上就是从源表获取更新数据。
ORACLE虽然没有这种语法,但是可以通过以下两种方式来实现:
MERGE语句
对视图的UPDATE语句
-- 被更新表T1 更新数据来源表T2
/*
create table david_1 (a number, b varchar2(10))
insert into david_1 values(1, old);
insert into david_1 values(1, old);
insert into david_1 values(1, old);
insert into david_1 values(2, old);
insert into david_1 values(2, old);
insert into david_1 values(3, old);
insert into david_1 values(3
如果觉得《oracle中update子查询 UPDATE语句-简单形式-子查询形式》对你有帮助,请点赞、收藏,并留下你的观点哦!