从1个SQL文件运行多个查询,在多个表中显示结果

问题描述 投票:2回答:5

我有一组用于回归测试的查询。这些基本上是存储在不同文件中的select语句。

File  Query
A      SELECT a ...
B      SELECT b ...
C      SELECT c ...

这意味着我必须打开多个文件并运行查询。是否可以将这些SELECT语句放在同一文件中,但在不同的表和/或不同的结果集中显示结果?

我希望有一个文件D在不同的表中显示SELECT语句a,b和c的结果。 (最好只包含文件A,B,C,但我当然可以复制粘贴它)。这可能吗?如果有可能,那我该怎么办?

sql teradata
5个回答
0
投票

您可以将所有选择查询附加到一个输出文件中。将以下代码放入.bat文件中,并使用bcp命令。

select * from table1 >> textfile1.txt 
select '================' >> textfile1.txt
select * from table2 >> textfile1.txt 
select '================' >> textfile1.txt
select * from table3 >> textfile1.txt 
select '================' >> textfile1.txt

0
投票

最简单的方法是将查询复制并粘贴到一个文件中,然后执行以下操作:

create table temp_db.table_name_a as(
    select * from queryATable
)with data primary index(indexes);

create table temp_db.table_name_b as(
    select * from queryBTable
)with data primary index(indexes);

create table temp_db.table_name_c as(
    select * from queryCTable
)with data primary index(indexes);

create table temp_db.combined_table_D as(

    select fields, 'tableAResult Set' as source from temp_db.table_name_a

union all

    select fields, 'tableBResult Set' as source from temp_db.table_name_b

union all 

    select fields, 'tableCResult Set' as source from temp_db.table_name_c

)with data primary index(indexes);

0
投票

不知道您可以使用哪些工具很难回答。

但是获得多个答案集的最简单方法之一是使用SQL Assistant。

例如:在查询窗口中键入或粘贴以下内容

SELECT * FROM dbc.DBCInfo;
SELECT * FROM dbc.DBCInfo;
SELECT * FROM dbc.DBCInfo;

在菜单中选择文件->导出结果

按F5键(或绿色的脚),它会提示您输入位置和文件名,然后输入所需的位置和文件名。

然后它将保存如下结果发布,14.10.02.11版本14.10.02.12语言支持模式,标准

 --------------------------------------------------------------------------------

 RELEASE,14.10.02.11
 VERSION,14.10.02.12
 LANGUAGE SUPPORT MODE,Standard

 --------------------------------------------------------------------------------

 RELEASE,14.10.02.11
 VERSION,14.10.02.12
 LANGUAGE SUPPORT MODE,Standard

您还可以在您的选项中设置以在每次查询时保存sql等。>>

希望这会有所帮助。


0
投票

在SQL开发人员中,一次运行多个查询并在1个结果而不是多个选项卡中获得结果的最简单方法是,选择要运行的所有查询,而不是运行“ run statement”,运行“ Run Script”或(F5)。这将返回如下结果:


0
投票

如果需要多个响应,则可以创建一个存储过程。

© www.soinside.com 2019 - 2024. All rights reserved.