Maison  >  Article  >  base de données  >  Oracle 10g 更新操作

Oracle 10g 更新操作

WBOY
WBOYoriginal
2016-06-07 17:12:16837parcourir

1.单表更新 语法 :update test set column=value [,column=value]... [where condition] eg :select * from test eg: update te

1.单表更新

语法 :update test set column=value [,column=value]... [where condition]

eg :select * from test

eg: update test set sex=111 译:整个表的sex列更新成111

eg: update test set sex=333 where AAA=7 译:更新test表中某一个值

2.多表更新也叫使用子查询更新

eg:将sal列的值更新为和emp表相同,如果使用常规的update语句,需要先将emp表SAL列的值查出,再使用update语句更新查询后的结果值,这样

做的话需要两步操作,需要做额外的数据IO,而使用子查询的话,,可以有效地减少IO而提高执行效率。

update test set sal=(select sal from emp ) --错误提示单行子查询返回多行

update test set sal=(select sal from emp where rownum=1) 译:所有的sal列更新为一个值

update test set sal=(select sal from (select * from (select rownum r,sal from emp) where r=16 )) where AAA=8 译:更新条件为AAA=8的sal的值

上面的更新语句分为三步

1.select * from (select rownum r,sal from emp) where r=16

2.select sal from (select * from (select rownum r,sal from emp) where r=16 )

3.赋值

select * from test where AAA=8

linux

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn