将多个查询输出到同一个 table/file?

Output multiple queries to same table/file?

我有一堆非常简单的 SELECT 语句。我想将它们全部输出到同一个结果集(UI table 或文件)。这是我最近尝试的事情:

@export on;
@export set filename="c:\test.csv";
@export set CsvColumnDelimiter=",";
SELECT TOP 1 * FROM TableName WHERE ID = 1;
SELECT TOP 1 * FROM TableName WHERE ID = 2;
SELECT TOP 1 * FROM TableName WHERE ID = 3;
SELECT TOP 1 * FROM TableName WHERE ID = 4;
SELECT TOP 1 * FROM TableName WHERE ID = 5;
@export off;

显然 CSV 文件只包含 ID 5,因为它只是覆盖。有什么办法追加吗?或者,在 DBVis 之外是否有任何 SQL 选项允许我将所有这些 SQL 查询执行到一个结果集中?

实现此目的的一种方法是return一个结果集,使用UNION ALL

SELECT TOP 1 * FROM TableName WHERE ID = 1
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 2
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 3
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 4
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 5;

斯科特,试试:

@export on;
@export set filename="<outputfile.csv>" appendfile="true";
select * from tab;
@export set CsvIncludeColumnHeader="false";
select * from tab;
select * from tab;

这将导出包含 headers 列的第一个结果集和不包含 headers 列的后续结果集。

在 IQ 数据库中,客户端可以设置一个选项

set option isql_show_multiple_result_sets = 'on';

2 个问题:

  1. 这是哪个数据库?
  2. 在多个结果集中哪里可以返回?