我刚刚安装了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或其他东西?
答案 0 :(得分:1)
如果可行,您可以在脚本中添加假脱机命令。否则,您可以交互式运行sqlplus
,手动暂停,并手动运行脚本,然后手动退出。您也可以自动化手动方法,但这超出了本问题的范围。
您可以在命令行中指定文件名,如下所示:
sqlplus -L <username>/<pwd>@<tns service name> @"input_file.sql" outputfile
如果在脚本中打开输出文件,请执行以下操作:
spool &1
请参阅here以获取参考。