SQLチューニング *[SQL][Oracle][INSERT]

机上の空論だが、こんなんできるらしい。
マルチテーブルインサートとも表現される。

メリット
・プログラムから送るSQL文は1文で済む
・UNION ALLしてるだけなので、テーブル間に関連がなくてもいい
デメリット
・テーブル定義が一つでも変わったら全体が動かない
・一つでもいらないテーブルが出てきたとしても全体の再テストが必要
・再利用性が低い

INSERT ALL
 WHEN テーブル判別フラグ= 1 THEN
  INTO AAAAA VALUES( 項目1,…,項目100 )
 WHEN テーブル判別フラグ= 2 THEN
  INTO BBBBB VALUES( 項目101,…,項目200 )
SELECT 項目1
 ,項目2
 ,項目3
 :
 ,テーブル判別フラグ
 ,項目100
 ,項目102
 ,項目103
 :
FROM (SELECT 列名1 項目1
   ,列名2 項目2
   ,列名3 項目3
   :
   ,列名100 項目100
   ,1 テーブル判別フラグ
  FROM テーブルA
  UNION ALL
  SELECT 列名A 項目101
   ,列名B 項目102
   ,列名C 項目103
   :
   ,列名A100 項目200
   ,1 テーブル判別フラグ
  FROM テーブルA)