sql - 从文件读取并使用 sqlplus 在 1 行上保存到文件

标签 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"

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

最佳答案

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

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

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

如果在您的脚本中,您像这样打开了输出文件:

spool &1

参见here供引用。

关于sql - 从文件读取并使用 sqlplus 在 1 行上保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30266668/

相关文章:

sql - 简单、快速的平面文件 SQL 查询

command-line - 使用与会者和位置集打开 Outlook 约会的命令行是什么?

linux - 管道到 less -S 而不清除命令行历史记录的输出

python - 删除CSV文件Python中的空白条目

php - 需要在 PHP 中解析较大的(15k 记录),做一些其他的操作。建议?

java - 使用包依赖项从命令行创建 .class 文件

sql - 在 PostgreSQL 的 RECURSIVE WITH 内部使用 WITH

SQL Server 的WITH 子句

sql - 在plpgsql中连接查询字符串中的多个字段

c++ - 使用单个 ADO 查询将数据从文本文件复制到另一个 ODBC 源