首页 文章

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

提问于
浏览
1

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

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

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

1 回答

  • 1

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

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

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

    如果,在您的脚本中,您打开输出文件,如下所示:

    spool &1
    

    请参阅here以获取参考 .

相关问题