我有一组回归测试查询。这些基本上是存储在不同文件中的select语句。
File Query
A SELECT a ...
B SELECT b ...
C SELECT c ...
这意味着我必须打开多个文件并运行查询。是否可以将这些SELECT语句放在同一个文件中,但是在不同的表和/或不同的结果集中显示结果?
我希望有一个文件D显示不同表中SELECT语句a,b和c的结果。 (最好只包括文件A,B,C,但我当然可以复制粘贴它)。这可能吗?万一有可能,我该怎么办?
答案 0 :(得分: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
答案 1 :(得分: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);
答案 2 :(得分:0)
不知道您可以访问哪些工具很难回答。
然而,获得多个答案集的最简单方法之一是使用SQL Assistant。
例如:在您的查询窗口中输入或粘贴以下内容
SELECT * FROM dbc.DBCInfo;
SELECT * FROM dbc.DBCInfo;
SELECT * FROM dbc.DBCInfo;
菜单中的选择文件 - >导出结果
点击F5(或绿色脚),它会提示您输入位置和文件名,并输入您想要的文件名。
然后会保存下面的结果 RELEASE,14.10.02.11 VERSION,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等。
希望这会有所帮助。
答案 3 :(得分:0)
在SQL Developer中,一次运行多个查询并获得1个结果而不是多个选项卡的结果的最简单方法是,选择要运行的所有查询,而不是运行“ run statement”,运行“ Run Script” ”或(F5)。这将返回如下结果:
此处查询结果
此处查询结果
答案 4 :(得分:0)
如果需要多个响应,则可以创建一个存储过程。
使用存储过程,您可以进行一次调用,并返回多个数据集:
CREATE PROCEDURE Foo
AS
SELECT * AS Table1
SELECT * AS Table2;
SELECT * AS Table3;
GO
EXECUTE Foo;