複雑なSQLをファイルに書いて、psql コマンドから実行することがあります。 その際、SQLファイルに書かれたSQL文にpsqlから変数を渡す方法です。 以下の「sql.txt」はそれなりに複雑なSQLと思って読み替えてください。 sql.txt : : select * from table:N where id > 100 : : ”:N” が変数です。(変数名にはコロンを付ける) この場合、変数 :N には 1 から 99 の値が渡ってくる想定です。 (table1 ~ table99 までループして処理を行う想定) psql の -v オプションで変数を渡します。 % for N in `seq 1 99` for> psql -U hoge some_db -f sql.txt -v N=$N