从文件中读取并在1行中使用sqlplus保存到文件

时间:2015-05-15 18:45:01

标签: sql csv command-line sqlplus

我刚刚安装了Oracle 12c,并且我正在尝试学习sqlplus。我们有许多脚本使用dbisql连接到Sybase数据库并检索数据。 dbisql的语法很简单,但我无法弄清楚如何在sqlplus中做同样的事情。我们只想让sqlplus用SQL读取文件并将结果输出到csv。我读过你可以做的事情:

c:\scripts>sqlplus -L <username>/<pwd>@<tns service name> @"input_file.sql"

将读入&#34; input_file.sql&#34;的内容。并执行它。但是如何将结果保存在csv中呢?是不是应该在sql中完成(比如Sybase有OUTPUT TO命令,然后我们可以使用MySQL的LOAD DATA LOCAL INFILE命令加载它)或SPOOL或其他东西?

1 个答案:

答案 0 :(得分:1)

如果可行,您可以在脚本中添加假脱机命令。否则,您可以交互式运行sqlplus,手动暂停,并手动运行脚本,然后手动退出。您也可以自动化手动方法,但这超出了本问题的范围。

您可以在命令行中指定文件名,如下所示:

sqlplus -L <username>/<pwd>@<tns service name> @"input_file.sql" outputfile

如果在脚本中打开输出文件,请执行以下操作:

spool &1

请参阅here以获取参考。