• ベストアンサー

ファイルに記述されている複数の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です。

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

#1の方も指摘されている通り、 psql を使えば出来ます。 psql で、-f オプションを使うか、該当のDBに接続して \i コマンドを使えば良いでしょう。 http://www.postgresql.jp/document/pg746doc/html/app-psql.html SQLが記述されているファイルを insert_data.sql、 DBを testdb としますと 例1)------------------------------------------------------------- $ psql testdb Welcome to psql x.x.x, the PostgreSQL interactive terminal. ・ ・ ・ testdb=> \i insert_data.sql testdb=> \q ----------------------------------------------------------------- 例2)------------------------------------------------------------- $ psql testdb -f insert_data.sql ----------------------------------------------------------------- 注) ユーザのDBへのアクセス権によっては -U オプションや -W オプションも必要になります。

その他の回答 (1)

noname#223623
noname#223623
回答No.1

やったことないので保証できませんが psql -f SQL文のファイル名 でできるようですけど。 違ったらごめんなさい...

参考URL:
http://collie.low-temp.sci.yamaguchi-u.ac.jp/~ashida/comp/psql.html#psql

関連するQ&A