現在制作しているWebAppにて、環境構築でDBの初期導入時
Windowsバッチファイルで、SQL文を実行してDBにデータ導入を行っています。
現在テーブルにINSERTするデータを、「英語版」「日本語版」でそれぞれ分けています。
バッチファイルを実行すると、「英語」または、「日本語」のデータ導入を行うSQL文が決まり実行されるようになっています。
今現在、日本語と英語それぞれで導入するデータを変えているのですが
下記に様に基本的に同じデータの言語によって変わる部分だけが違うイメージです。
SQL
1//日本語用のSQL 2INSERT INTO table VALUES (1,'こんにちは','2020-01-01'); 3INSERT INTO table VALUES (2,'こんばんは','2020-01-02'); 4 5//英語用のSQL 6INSERT INTO table VALUES (1,'Hello','2020-01-01'); 7INSERT INTO table VALUES (2,'Good evening','2020-01-02');
今後、初期導入時のデータを増やした際や、言語が増えた際に
言語の数×増やしたいデータ
のINSERT文を書いていくのが大変なので、何とかしてINSERT文は一つにしたいのですが
うまいやり方が思いつきません。
一応現状の案としては、
INSERT文に「ID」のようなものを登録します。
SQL
1//SQL 2INSERT INTO table VALUES (1,'ID001','2020-01-01'); 3INSERT INTO table VALUES (2,'ID002','2020-01-02');
このID(上記でいう「ID001」)などを変換する。
※IDリストのようなファイルを作る処理は別途作成。
私の中では以下の二つのやり方を思いついているのですが、
①バッチを起動した際にINSERT文のID部分を、IDリストファイルと照合して置換する処理を作成する。
②一度データを(IDが入っているもの)INSERTする。その後UPDATEを実行してIDを言語ごとの言葉に置き換え
→UPDATE文作成の処理は別途作成
実際どうやって実現していくかは全く分かっていません。
ざっくりした質問で大変申し訳ないのですが、
私の案を実現するために良い方法はありますでしょうか?
またほかにもっと良いやり方を思いつく方がいたら教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー