Heim  >  Artikel  >  Datenbank  >  Oracle 10g 更新操作

Oracle 10g 更新操作

WBOY
WBOYOriginal
2016-06-07 17:12:16874Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn