【问题标题】:Running SQL Queries using Shell Script and get back the output in CSV Format使用 Shell 脚本运行 SQL 查询并返回 CSV 格式的输出
【发布时间】:2020-04-23 21:03:26
【问题描述】:

我想使用 shell 脚本自动化包含多个 SQL 查询的 SQL 文件,同时以 .csv 格式文件获取它们的输出。

还有一个问题!这些查询将有一些可变部分,即它们会改变并取决于用户输入

例如:

SELECT NAME, CITY, ADDRESS FROM DATA WHERE COUNTRY = 'USA'

这里我不希望它总是美国。那么有没有一种方法可以提供 COUNTRY 作为 Shell 脚本中的用户输入?

【问题讨论】:

  • 你使用的是什么 SQL 服务器?
  • @Mark Hi,它的 Oracle SQL Server

标签: sql shell perl unix sh


【解决方案1】:

您可以尝试使用 Oracle SQL*Plus 替换变量。

这样的SQL脚本“demo.sql”

SPOOL some.csv APPEND
set colsep ','
SELECT NAME, CITY, ADDRESS FROM DATA WHERE COUNTRY = '&Country';
SPOOL OFF

然后像这样运行脚本

sqlplus -S username/pass @demo.sql

系统会提示您输入“国家/地区”

Enter value for Country:

然后输入一些内容并按 Enter。
SQL 已执行,将得到一些用逗号分隔的 .csv 文件。

【讨论】:

  • 谢谢!会试试这个,让你知道
猜你喜欢
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 2013-08-14
  • 1970-01-01
  • 2019-05-14
  • 1970-01-01
相关资源
最近更新 更多