如何将DB2 SQL结果表移动到物理文件中?

Chr*_*mus 4 sql db2 rpgle ibm-midrange

我想从SELECT语句中获取结果表,然后将其移动到物理文件中.

我希望使用(每个W3Schools):

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename 
Run Code Online (Sandbox Code Playgroud)

不幸的是,根据IBM手册(DB2 for i SQL参考)

SELECT INTO语句生成一个最多包含一行的结果表,并将该行中的值分配给变量.

那么我想也许我可以使用:

INSERT语句将行插入一个表或视图存在三种形式的该语句的:
1. INSERT使用全查询表用于插入一个或多个行到表或视图使用来自其他表或视图的值.

不幸的是,它似乎对我不起作用.

INSERT INTO <tablename>
FROM ( SELECT (*) FROM <querytableA>
       UNION
       SELECT (*) FROM <querytableB>)
Run Code Online (Sandbox Code Playgroud)

我能够将结果表移动到物理文件中,但为了做到这一点,我必须声明一个游标然后do … while写入物理文件,一次一个记录.我认为这种丑陋和不雅,并希望能够使用SELECT INTOINSERT INTO声明.

请帮我将结果表"转储"到一个带有一个优雅语句的物理文件中.

操作系统:IBM i v6.1
数据库:DB2

jam*_*man 8

如果要自动创建表,还可以使用以下格式:

CREATE TABLE new_table_name 
AS (SELECT * FROM <querytableA> 
    UNION SELECT * FROM <querytableB>) WITH DATA
Run Code Online (Sandbox Code Playgroud)

请注意,您可以在查询上创建视图,以根据需要动态构建结果集.然后可以从任何HLL引用该视图作为逻辑文件:

CREATE VIEW new_table_name
AS SELECT * FROM <querytableA>
   UNION SELECT * FROM <querytableB>
Run Code Online (Sandbox Code Playgroud)