![]()
SQLクリニック(12) Page
2/21つのSQL文で複数の表にINSERTする
絶品テクニック
株式会社インサイトテクノロジー
岸本拓也/林 優
2006/3/1
マルチテーブル・インサートでデータを分割し別表にINSERTする方法を使って、実践的なサンプルを作成しました。SCORE表には、学籍番号、英語、国語、数学、理科、社会の5教科の点数が存在します。
SQL> select * from score; |
| リスト6 SCORE表のデータ |
この表を基に、科目別の集計テーブルを作成します。
SQL> insert all |
| リスト7 科目別の集計テーブルを作成 |
このようにマルチテーブル・インサートを使うと、1つの科目だけ別表にINSERTすることが可能です。
でも、このようなマルチテーブル・インサートの場合、条件式を付けたい場合もよくあります。そんなときは、MERGE文でも使ったWHEN句を使います。
SQL> insert all |
| リスト8 条件式を付けたマルチテーブル・インサート |
これで各科目の60点以下のデータは、それぞれの表にINSERTされているはずです。
SQL> select * from score_eigo; |
| リスト9 リスト8の結果を確認 |
英語では、「NO=3」の30点のデータがINSERTされているだけですね。
今度はSCORE表の中から、60点以下のデータをtsuishi_student表にINSERTします。
SQL> insert first |
| リスト10 SCORE表から60点以下のデータを別表にINSERT |
このように、別表から条件付きで抽出することも可能です。工夫次第では、時間がかかっていたバッチ処理のパフォーマンスアップにつながるかもしれません。ぜひぜひ検討してみてください。
◇
さて、今回でSQLクリニックは最終回となりますが、インサイトテクノロジーのメルマガでも入門者用メルマガを始めようか? という案も浮上しています。ぜひとも期待していてください。(連載完)
| 筆者プロフィール |
| 株式会社インサイトテクノロジー Oracleに特化した製品開発、コンサルティングを手掛けるエンジニア集団。岸本拓也は国内外を問わず問題解決に向けフットワークよく飛び回るシステム全般に精通したシステムコンサルタント。林 優は殺伐とした対策現場でも柔らかな言動で問題点を切り分ける誠実な目の中に闘志を持つシステムコンサルタント。 |
| 2/2 |
| Index | |
| 連載 SQLクリニック(12) 1つのSQL文で複数の表にINSERTする絶品テクニック |
|
| Page 1 ・マルチテーブル・インサートの基本形 ・バラバラの内容を別表にINSERTする |
|
| Page 2 ・マルチテーブル・インサートの実践サンプル ・条件に合致したらすべての表にInsertする ・バラバラの内容を別表にInsert(条件付き) |
|
| SQLクリニック |
TechTargetジャパン
Database Expert フォーラム 新着記事
- IBMが歴史を変える!? 新カテゴリの製品を発表 (2012/5/25)
IBMは新たな製品カテゴリとなる「PureSystems」を発表。DB2 10とビッグデータの関係、PureSytemsの斬新さはどこかに迫ります - クラウド時代のデータ処理を支える分散KVSの可能性 (2012/5/23)
現在、高速データ処理の主流はインメモリ型データ処理だが、別の方法として分散KVSが注目を集めている。今回は分散KVSについて話を聞いた - 複数の表からデータを取り出して表示させる(2) (2012/4/23)
前回はSQLの基本的な結合構文について説明しました。今回は、より複雑な自己結合や外部結合について説明します - SQL Server、OOWにIQ、盛りだくさんの4月 (2012/4/20)
オラクルオープンワールドが3年ぶりに東京で開催されたほか、SQL Server 2012が提供開始されるなど、今月は話題が盛りだくさんです
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH
