YoBlog

仕事の傍ら、趣味などを思うがままに書き留めています。

レイアウトの定まらないCSVを取り込むことになったんだが

CSVの項目数が増えたり減ったりする。

・項目の順番も変わる可能性がある。

・ヘッダ名は変わらないようにする。

 

こうなったらヘッダ名比較による取り込みをするしかないよね。

```java

print(hello);

~

``` 

■対応方法

動的SQLを作成します。

 

■流れ

CSV全項目をヘッダ名込みでwork1に取り込む。

取り込み項目のヘッダid,ヘッダ名を格納しているテーブル(Talble A)を作成しておく。

Table Aをループで回し、Table1のヘッダ名とwork1の1行目(ヘッダ)と名前比較する。

名前が一致したとき、Table Aの項目名を取得・SQLのパーツとして使いましょう。

 

あとはチェック処理はよしなに。

 

■経緯

グループウェアxxxxからcsv出力。

運用が定まっていないが、取り込みを行い業務負担を軽減したい。 

 

 

■動的SQL

for ... do 

for doの中でcontinue句が使えないなど。

制約があった。

そこは確認しながら作成すること。