[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
マルチテーブル・インサート(Multitable Insert) | ..:: 仕事メモ ::..

..:: 仕事メモ ::..

プログラミングメモφ(◎。◎‐)フムフムフム

すぐ忘れるのでしょーもないことでもメモします。

内容には環境に依存したものもあるので情報には一切の責任を持ちません・・・



最近は仕事メモすることが少なくなってきたので、日記をマメにメモします

1つのSQL文で複数の表にINSERTが可能

VALUES句で値を指定するマルチテーブル・インサート
SQL> insert all
2 into sample_table (id, name, value) values (1, 'TKISHIMO', 0)
3 into sample_table2 (id, name, value) values (2, 'MHAYASHI', 0)
4 select * from dual;

2行が作成されました。


EMP表の異なる列をEMP2、EMP3にINSERT
SQL> insert all
2 into emp2(empno, ename) values (empno, ename)
3 into emp3(empno, job) values (empno, job)
4 select * from emp;

24行が作成されました。


科目別の集計テーブルを作成
SQL> insert all
2 into score_eigo values( no, eigo )
3 into score_kokugo values( no, kokugo )
4 into score_sugaku values( no, sugaku )
5 into score_rika values( no, rika )
6 into score_syakai values( no, syakai )
7 select
8 no,eigo,kokugo,sugaku,rika,syakai
9 from
10 score;

25行が作成されました。

SQL> select * from score_eigo;

NO SCORE
---------- ----------
1 98
2 90
3 30
4 64
5 87


条件式を付けたマルチテーブル・インサート
SQL> insert all
2 when eigo <= 60 then
3 into score_eigo values( no, eigo )
4 when kokugo <= 60 then
5 into score_kokugo values( no, kokugo )
6 when sugaku <= 60 then
7 into score_sugaku values( no, sugaku )
8 when rika <= 60 then
9 into score_rika values( no, rika )
10 when syakai <= 60 then
11 into score_syakai values( no, syakai )
12 select
13 no,eigo,kokugo,sugaku,rika,syakai
14 from
15 score;

6行が作成されました。


SCORE表から60点以下のデータを別表にINSERT
SQL> insert first
2 when eigo <= 60 then
3 into tsuishi_student values (no, '英語', eigo )
4 when kokugo <= 60 then
5 into tsuishi_student values (no, '国語', kokugo )
6 when sugaku <= 60 then
7 into tsuishi_student values (no, '数学', sugaku )
8 when rika <= 60 then
9 into tsuishi_student values (no, '理科', rika )
10 when syakai <= 60 then
11 into tsuishi_student values (no, '社会', syakai )
12 select
13 no,eigo,kokugo,sugaku,rika,syakai
14 from
15 score;

4行が作成されました。

SQL> select * from tsuishi_student;

NO SUBJECT POINT
---------- ---------- ----------
3 英語 30
4 国語 57
5 国語 56
2 理科 40