' P '

whatever I will forget

txtファイルをdbで実行する

やっぱりなんといっても10個以上の連続SQLUNIX等の画面上でやるのは非常に疲れるし、作業効率も非常に悪い。ただ値を+1してUPDATEするときなんかは目も痛くなるし時間はかかるで最悪です。

というわけでそういう状況に陥ったときは、txtファイルでも作成してそこにSQLを記述して一度に、一気にdb2SQL実行をやってもらいましょう。

用意するのは、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)