2

Oracle SQLplus のファイルにレポートを書き込もうとしているときに、spool コマンドを使用していることは知っています。

MySQL で同等のコマンドは何ですか?

これは私のコードです:

set termout off

spool ${DB_ADMIN_HOME}/data/Datareport.log @ ${DB_ADMIN_HOME}/Scripts.Datavalidation/Datareportscript.sql

spool off
exit

MySQL でどのように記述できますか?

4

3 に答える 3

0

Oracle SQLPlusspoolコマンドの場合、mysqlコマンドラインクライアントに同等のものはありません。

ファイルに保存されたmysqlコマンドラインクライアントからの出力を取得するには、オペレーティングシステムに、出力を表示ではなくファイルにリダイレクトさせることができます。

Unixでは>、コマンドラインで記号を使用します。(ここでは、出力をリダイレクトする方法の例を示すのは少し冗長に思えます。)

date > /tmp/foo.txt

その>シンボルは基本的に、STDOUTハンドルに書き込まれたものを取得し、特権がある場合はそれを指定されたファイルにリダイレクトする(存在する場合はファイルを上書きする)ようにシェルに指示しています。


Q:レポートを生成しようとしているときにmysqlで使用されていますかset pagesizeset linesize

A:いいえ。これらはOracleSQLPlusに固有のものです。mysqlコマンドラインクライアントの同等の機能を知りません。mysqlコマンドラインクライアントは、インタラクティブモード(pagerおよびなどtee)で実行するといくつかの強力な機能を備えていますが、非インタラクティブモードでは、SQLPlusの代わりとしては不十分です。

于 2012-06-25T18:40:07.840 に答える
-1

あなたが求めているものが得られたら:

mysql dbname < ${DB_ADMIN_HOME}/Scripts.Datavalidation/Datareportscript.sql \
> ${DB_ADMIN_HOME}/data/Datareport.log 

リダイレクトを使用します。

于 2012-06-25T14:47:12.253 に答える