【发布时间】:2014-11-08 07:46:57
【问题描述】:
是否可以在 Aqua Data Studio 中定义某种宏/脚本?
基本上,我想做的是: 我有一个包含多个名为 xyz.sql 的 SQL 查询的文件夹,我想运行所有这些查询并将它们保存为 xyz.csv
这有可能吗?
非常感谢!
【问题讨论】:
标签: aquafold
是否可以在 Aqua Data Studio 中定义某种宏/脚本?
基本上,我想做的是: 我有一个包含多个名为 xyz.sql 的 SQL 查询的文件夹,我想运行所有这些查询并将它们保存为 xyz.csv
这有可能吗?
非常感谢!
【问题讨论】:
标签: aquafold
Aqua Data Studio 有一个名为 FluidShell 的功能,它是一个集成的 shell,您可以在其中使用 FluidShell 命令执行 SELECT 查询并将其写入文件。
FluidShell Introduction
FluidShell Commands
一些对完成任务有用的命令是
Executing SQL
[来源][4]
为了测试,我在名为 dbo 的架构下名为 Northwind 的 SQL Server 数据库下创建了 2 个名为 foo 和 bar 的表,并插入了一些记录。接下来,我创建了一个名为 xyz.sql 的文件并将其放在 2 行以下并保存该文件。
sqlexport -f csv -d Northwind -s dbo foo -o /Users/tariq/Desktop/stack1.csv
sqlexport -f csv -d Northwind -s dbo bar -o /Users/tariq/Desktop/stack2.csv
然后打开一个fluidshell并使用源命令source xyz.sql。现在文件已成功导出为 2 个文件。
我能想到的两件事是:
A.) query.sql 中的内容是 SELECT * FROM dbo.Orders where ShipVia > 2 @
然后我使用源结合 tee 来得到结果
源查询.sql | \tee result.txt
B.) query2.sql 中的内容如下
select * from dbo.Orders where ShipVia > 2
\go > mydata.txt
然后在 FluidShell 提示符下使用 source query2.sql
【讨论】:
source xyz.sql 从shell 运行查询,但我没有找到如何将输出保存到我想要的文件中。我认为它必须是sqlexport,但是从文档中我不清楚如何将两者结合起来。你能帮忙吗?
query.sql 包含 select * from foo,我该如何导出这个结果集?