- 締切済み
複数の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ファイル にして実行するようにしたいです。 もし、分かる方いれば教えてください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- y_suzuki-o
- ベストアンサー率14% (12/85)
回答No.1
#sql実行のところを以下のようにしたらどうでしょうか。実行順がファイル名等でわかる場合は、lsのオプション、または、lsではなく、findに変更することをオススメします。 sqls=`ls /home/hoge/*` for sql in ${sqls}; do @${sql} done commit; exit EOF