最近のトラックバック

最近のコメント

2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« 初歩的なこと。。。テーブルの表領域移動について | トップページ | ネズミも笑うらしい »

2007年3月 5日 (月)

相関サブクエリーを使った更新

/** 1. 準備 **/

drop table maintbl
/
drop table subtbl
/
create table maintbl
( code varchar2(10), amount number)
/
create table subtbl
( code2 varchar2(10), amount2 number)
/

insert into maintbl values('1',100)

/

insert into maintbl values('2',200)
/
insert into maintbl values('3',300)
/
insert into maintbl values('4',400)
/
insert into maintbl values('5',500)
/

insert into subtbl values('3',333)
/

commit
/

select * from maintbl
/

CODE           AMOUNT
---------- ----------
1                 100
2                 200
3                 300
4                 400
5                 500

/** 2. 相関サブクエリーを使用した更新 **/

update  maintbl
set amount = (select amount2 from subtbl where code=code2)
/

select * from maintbl
/
CODE           AMOUNT
---------- ----------
1
2
3                 333
4
5

rollback
/

update  maintbl
set amount = (select amount2 from subtbl where code=code2)
where exists
    (select amount2 from subtbl where code=code2)
/

select * from maintbl
/
CODE           AMOUNT
---------- ----------
1                 100
2                 200
3                 333
4                 400
5                 500


rollback
/

update  maintbl
set amount = (select amount2 from subtbl where code=code2)
where amount = 300
/

select * from maintbl
/
CODE           AMOUNT
---------- ----------
1                 100
2                 200
3                 333
4                 400
5                 500

« 初歩的なこと。。。テーブルの表領域移動について | トップページ | ネズミも笑うらしい »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181317/14145728

この記事へのトラックバック一覧です: 相関サブクエリーを使った更新:

« 初歩的なこと。。。テーブルの表領域移動について | トップページ | ネズミも笑うらしい »