やっぱりなんといっても10個以上の連続SQLをUNIX等の画面上でやるのは非常に疲れるし、作業効率も非常に悪い。ただ値を+1してUPDATEするときなんかは目も痛くなるし時間はかかるで最悪です。
というわけでそういう状況に陥ったときは、txtファイルでも作成してそこにSQLを記述して一度に、一気にdb2にSQL実行をやってもらいましょう。
用意するのは、txtファイルと、使用されているOSにぶっこむためのFTP transferソフト(filezilaとかcyberduckとか)※もちろんローカルDBを使用していてコマンドプロンプトからdb2cmdでdb2を使用している人はtransferソフトは必要ありません。
txtの内容は・・・
(updatesample.txt)
update tableA set value1 ='A' where number = '100';
update tableA set value1 ='B' where number = '101';
update tableA set value1 ='C' where number = '102';
update tableA set value1 ='D' where number = '103';
update tableA set value1 ='E' where number = '104';
update tableA set value1 ='F' where number = '105';
こんな感じです。
db2は記述不要で、SQLを囲む""も不要。ただ各SQLの終わりに;をつけること!
で、txtファイルを適当に移動させ、txtファイルがあるディレクトリに移動します。
そして下記のコマンドを。
db2 -tvf updatesample.txt
以上です。(※db2 connectは必須ですよ!)
オプションの詳細は以下:
-t → ;(セミコロン)をステートメント終了文字とする(未指定:OFF)
-v → コマンドテキストを標準出力にエコーする(未指定:OFF)
-f → ファイル名 SQLステートメントをファイルから読み込む(未指定:OFF)