MySQL中的spool命令的等价物是什么?

时间:2012-06-25 13:31:38

标签: mysql spool

当您尝试将报告写入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中编写它?

3 个答案:

答案 0 :(得分:6)

在MySQL中,您需要使用命令 Address &的 tee

notee

tee data.txt; //SQL sentences... notee; tee == data.txt spool

data.txt == notee

答案 1 :(得分:0)

如果我得到你的要求:

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

使用重定向。

答案 2 :(得分:0)

对于Oracle SQLPlus spool命令,mysql命令行客户端中没有等效命令。

要从保存到文件的mysql命令行客户端获取输出,可以让操作系统将输出重定向到文件,而不是显示。

在Unix中,您在命令行上使用>符号。 (这里给出一个如何重定向输出的例子似乎有点多余。)

date > /tmp/foo.txt

>符号基本上是告诉shell将写入STDOUT句柄的内容并将其重定向到指定文件(如果存在则覆盖文件),如果你有权限的话。


当您尝试生成报告时,

问:在mysql中使用set pagesizeset linesize

答:否。这些特定于Oracle SQLPlus。我不知道mysql命令行客户端中的任何等效功能。 mysql命令行客户端在交互模式下运行时具有一些强大的功能(例如pagertee),但在非交互模式下,它不足以替代SQLPlus。