gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:35:25 25 4
gpt4 key购买 nike

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

我希望使用(根据 W3Schools ):

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename

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

The SELECT INTO statement produces a result table consisting of at most one row, and assigns the values in that row to variables.



所以我想也许我可以使用:

The INSERT statement inserts rows into a table or view There are three forms of this statement:
1. The INSERT using fullselect form is used to insert one or more rows into the table or view using values from other tables or views.



不幸的是,它似乎对我不起作用。
INSERT INTO <tablename>
FROM ( SELECT (*) FROM <querytableA>
UNION
SELECT (*) FROM <querytableB>)

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

请帮我用一个优雅的语句将结果表“转储”到一个物理文件中。

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

最佳答案

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

CREATE TABLE new_table_name 
AS (SELECT * FROM <querytableA>
UNION SELECT * FROM <querytableB>) WITH DATA

请注意,您可以在查询上创建 View 以根据需要动态构建结果集。然后可以从任何 HLL 作为逻辑文件引用该 View :
CREATE VIEW new_table_name
AS SELECT * FROM <querytableA>
UNION SELECT * FROM <querytableB>

关于sql - 如何将 DB2 SQL 结果表移动到物理文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com