• 締切済み

複数のsqlファイルを実行するスクリプト

シェルスクリプトで特定のディレクトリ配下にあるsqlファイルを実行したいのですが、 どのようにすればいいのでしょうか? 今まではsqlファイルが決まっていた為、明示的にファイルを指定出来たのですが、ファイル名が固定でなくなった 為、悩んでいます。 以前は以下のような形で行っていました。 ----------------------------------------- #!/bin/sh #sqlplusでDB接続 sqlplus /nolog <<EOF conn USER (パスワード入力) #ユーザ確認 show user #sql実行 @/home/hoge/sql_01 @/home/hoge/sql_02 @/home/hoge/sql_03 commit; exit EOF ---------------------------------- ここでsql実行したいファイルの特定のディレクトリ配下にある全てのsqlファイル にして実行するようにしたいです。 もし、分かる方いれば教えてください。 よろしくお願いします。

みんなの回答

回答No.1

#sql実行のところを以下のようにしたらどうでしょうか。実行順がファイル名等でわかる場合は、lsのオプション、または、lsではなく、findに変更することをオススメします。 sqls=`ls /home/hoge/*` for sql in ${sqls}; do @${sql} done commit; exit EOF

関連するQ&A