【问题标题】:Aqua Data Studio Macro possible?Aqua Data Studio 宏可能吗?
【发布时间】:2014-11-08 07:46:57
【问题描述】:

是否可以在 Aqua Data Studio 中定义某种宏/脚本?

基本上,我想做的是: 我有一个包含多个名为 xyz.sql 的 SQL 查询的文件夹,我想运行所有这些查询并将它们保存为 xyz.csv

这有可能吗?

非常感谢!

【问题讨论】:

    标签: aquafold


    【解决方案1】:

    Aqua Data Studio 有一个名为 FluidShell 的功能,它是一个集成的 shell,您可以在其中使用 FluidShell 命令执行 SELECT 查询并将其写入文件。

    FluidShell Introduction
    FluidShell Commands

    一些对完成任务有用的命令是
    Executing SQL
    [来源][4]

    [4]:http://www.aquaclusters.com/app/home/project/public/aquadatastudio/wikibook/Documentation15/page/289/source

    为了测试,我在名为 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,我该如何导出这个结果集?
    • 谢谢,两个都很好!也感谢您的耐心等待。第二种解决方案对我来说更好,因为它不包含查询,而只包含结果。现在,1.如何指定保存文件的目录?如果我写 'go > C:\...\mydata.txt',该文件仍将存储在原始目录中。
    • 对于#1,尝试用引号将文件名括起来。我的适用于 \go > "/Users/tariq/Documents/stackoverflow.txt"
    猜你喜欢
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    相关资源
    最近更新 更多