ay5399
@ay5399

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

MySQLのストアドプロシージャの実行結果をファイル出力したい

解決したいこと

MySQLでストアドプロシージャの実行結果をファイル出力したいです。
週次で本番稼働しているストアドプロシージャを実行して実行結果をファイルに保存しているのですが、GUIからポチポチするのが手間になっています。シェルからの実行でストアドプロシージャの実行結果をファイル出力することはできないでしょうか。
本番稼働しているストアドプロシージャに手を加えずに実現したいです。

自分で試したこと

ググってみましたがとっかかりもつかめません。戻り値を出力ならやりようがありそうなのですが・・・。

0

2Answer

シェルかSQLで実現

ストアドプロシージャは各自 mysqlで

call putCSV(”/var/tmp/file.csv");

のように実行できるとする

create event
にて call putCSV(”/var/tmp/file.csv") を各自登録

但し、ストアドプロシージャのselect文で
into outofile 引数 指定しており、各自任意のファイル名を指定出来ること

mysql -u user -p dbName --execute='call putCSV(”/var/tmp/file.csv");'

GUI画面をポチった方がよいのでは?

1Like

Comments

  1. @ay5399

    Questioner

    回答ありがとうございます。
    ただ各方面に展開したいので環境整備が不要なシェルかSQLで実現したいです。
    説明不足していてすみません。
  2. シェルからMySQLコマンドを実行して、標準出力をテキストファイルにリダイレクトするなりして記録してはいかがでしょう?
  3. @ay5399

    Questioner

    ご提案いただいた方法で解決しました!ありがとうございます。

Your answer might help someone💌