• ベストアンサー

DB2のファイル読込み

DB2にinsert文を書いているファイルを読込ませて、実行させたいのですが、ORACLEで@に該当するコマンドがDB2に存在するのでしょうか?存在するなら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • itachisan
  • ベストアンサー率81% (9/11)
回答No.1

すでに解決されていますでしょうか? 当方、DB2は経験ないのですが、以下の情報を見つけましたので、参考になれば幸いです。 コマンド行プロセッサー (CLP)で、 入力ファイルからの読み取りオプション (-f): -ffilename オプションを指定すると、コマンド行プロセッサーは標準入力ではなく指定したファイルから入力を読み取るようになります。 filename は、指定ファイルまでのディレクトリー・パスを含む絶対または相対ファイル名です。 ディレクトリー・パスを指定していない場合、現行ディレクトリーが使用されます。 他のオプションと一緒にオプション -f を指定する場合には、オプション -f は最後に指定する必要があります。 たとえば、次のようにします。 db2 -tvf filename コマンド処理は QUITまたは TERMINATEが出されるまで、またはファイルの終わりまで続行されます。 例) ファイル名:inshoge.ddl --------------------------------------- connect to db; insert into table1 values('hoge1',100); insert into table1 values('hoge2',200); insert into table1 values('hoge3',300); connect reset; --------------------------------------- ※;(セミコロン)がステートメント終了文字で定義してあるステートメントファイルを実行し、結果を標準出力に出力する。 $ db2 -tvf inshoge.ddl

参考URL:
http://www.db2.jp/siryo/db2online/db2n0/db2n067.htm#HDRCLPOPT

関連するQ&A

  • ファイルDB連携で質問です。

    テーブルと同じレイアウトのテキストファイルを読込んで - 同一キーが存在し、データも同一なら何もしない - 同一キーが存在し、データが変更ならUPDATE文を作成 - 同一キーが存在しなければINSERT文を作成 しファイル出力したいのですが、 どんな手法がベストでしょうか? 私の考えつく方法はどうもDBを活かしきれていない気がします。DBはMySQL4でUNIONも使えるのですが、オラクルブロンズレベルでは思いつかず参っています。 ■テーブル(ファイルレイアウト)key1,key2は複合キー key1 key2 data1   1  0   5   2  3   6 ■処理の流れ ファイルがありテーブルが存在しなければ ファイル読込でテーブルへそのままインポート ↓ ファイルがありテーブルが存在したら、 既存テーブルをリネーム後に、 ファイル読込でテーブルへそのままインポート ↓ インポートしたテーブルを全件SELECTし、 リネームしたテーブルへ1件ずつSELECTマッチ処理を行った結果によりファイルへINSERTやSELECT文を出力していく。 ファイルの行数が多いと相当重い処理になりそうで。。

  • Postgres でインサートファイルをインポートする方法

    Postgresでインサートコマンドが書かれたファイルを インポートするだけで値がDBに格納される方法は どうすればよろしいでしょうか? oracleでは.sqlという拡張子をつけて あるコマンドをうつだけだと思いますが・・・ よろしくお願いします。

  • 各DBにinsertする方法

    FreeBSD 4.10 MYSQL version: 4.0.22 上記の環境で作業を行っているのですが、 各DBに定期的にinsert文やalter文を実行しております。 その際に test.txtファイル内に insert文等を書き、以下のコマンドを実行しているのですが、 mysql -u xxxx -p xxxx < test.txt mysql -u xxxx -p yyyy < test.txt mysql -u xxxx -p zzzz < test.txt この処理を一度に実行したいと考えているのですが どのようなバッチを作成すればいいのでしょうか 恐れ入りますがお教えください。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • コマンドファイルの実行

    今、メモ帳にたくさんのINSERT文をいれ、[SQL> START ファイル名]で実行したのですが、「ファイル”ファイル名”をオープンできません」とメッセージが出ます。 メモ帳のINSERT文も何回も見直したのですが…。 どうしたら実行できるのでしょう?   Oracle9i,SQLPlusを使用しています。

  • ファイルに記述されている複数のSQL文を一度に実行させたい

    こんにちわ。 ファイルに記述されているSQL文を、Linuxのコマンドラインなどから 実行したいと考えています。 ファイルに insert into DB_NAME(aaa,bbb,ccc) values(111,222,333); insert into DB_NAME(ddd,eee,fff) values(333,777,222); insert into DB_NAME(aaa,ttt,ddd) values(111,000,999); ... などのSQL文が複数行(例えば1000個ほど)記述しているのを用意して なんかしらの方法で一度に実行させたいのです。 mySQLでは、このようなやり方があるのですが postgreではどのようにすればいいのか、わかりません。 どなたかご存知の方、よろしくお願い致します。 OSはLinuxです。

  • DB同時接続および更新処理結果確認について

    お世話になります。 DB:Oracle11g OS:Linux5 上記環境のDBサーバへ、Aさん、BさんがTera Term接続して、 2名とも同じスキーマSSS(DBA付与)でsqlplusにてDB接続しました。 Aさんが、TTTテーブルに対してINSERT文を実行し、 1行追記されていることをSELECT文にて確認することができましたが、、 その後Bさんが同じSELECT文を実行しても、Aさんが追記した行が表示されません。 お恥ずかしい質問で恐縮ですが、 Bさんからも、AさんのINSERT実行結果を即時に確認できるようにするための Oracleの(?)設定がありましたら、ご教示ください。 ※目的はAさんが実行したINSERT、UPDATE、DELETEの結果を、   Bさんが開いているTera Termのコンソールからも確認したい。

  • VB.NETでDB書き込みエラー

    VB.NETで開発を行っています。データベースを使用するのですが、 フィールド数が150近いものになっており、クエリの自動生成ができなくて、 その部分は手動で作成しました。 で、DBへ書き込みを行う際に、INSERT文を作成していますが、そこで使用して いる@付の変数が宣言されていない、という実行エラーが発生してます。この @付の変数はどこで宣言を行えばよろしいのでしょうか? よろしくお願いいたします。

  • ubuntuのコマンドをファイルから実行したい

    ubuntu初心者です。 ターミナルのコマンドを自動的に複数実行するために、ファイルを読み込ませて、コマンドを実行したいのですが、そんなことできますか? イメージとしてはDBでSQL文が書かれたファイルを実行する感じです。

  • DB2のコマンドラインexportで複雑なselectの指定は可能?

    オラクルだとspoolでselect文の出力結果をCSV形式等にして取得できるのですが、DB2で同じ事が可能かと調べてます。db2コマンドのexportを使えばできそうかと思うのですが、複雑なselect文の時にコマンドラインに全部書かなければならないのか、他に手段があるのか、悩んでいます。

  • DB作成パラメータ値

    Oracle 9iを使用しています。 Win2000上で標準パラメータでDBを作成し、アプリケーションを稼動しています。このEXPORTファイルを使用して Win2003で、同じく標準パラメータでDB(同じくOracle9i)を作成し、 DBをインポートするとアーカイブログの空きがない、のエラーとなり、 IMPORTコマンドは異常終了してしまします。 同じOracle 9iでも稼動しているOSにより、各種領域設定はことなるのでしょうか?