db2 - 查询结果到新表

时间:2015-07-09 22:16:31

标签: java sql db2

大家好我需要填写一张表格,其中包含我的查询结果......

SELECT FIELD1, FIELD2, X FROM OLDTABLE WHERE X=Y 

我是Java开发人员,我的朋友,AS400中的RPG开发人员。当他们执行查询时,可以选择将查询结果保存在文件中

该选项名为 SELECT输出,可以选择 1显示2打印机3文件

可以直接从查询中执行此操作吗?或者是本地iSeries选项?

3 个答案:

答案 0 :(得分:2)

使用iseries sql

创建一个表

创建一个包含数据的表。

create table abc as (select x,y,z from sometable where x=y) with data

创建一个空表。

create table abc as (select x,y,z from sometable where x=y) data definition only

只使用sql没有输出到打印机。

答案 1 :(得分:0)

查询将提示您替换现有表。 Straight SQL不会提示替换现有表,因此您有两种情况(参见注释)。

如果输出表不存在,则只需

create table newtable as (select <...> from oldtable) with data

如果输出表已经存在,那么您只需要一个带子选择的插入。

Insert into newtable
Select <...>  from oldtable

注意
随着2015年5月发布了v7.1的TR10和v7.2的TR2,IBM在OR REPLACE语句中添加了对CREATE TABLE子句的支持。因此,如果你恰好在那些TR或更高的TR上,你可以简单地使用:

create or replace table newtable as (select <...> from oldtable) with data

答案 2 :(得分:0)

可以将SQL编译为查询管理器查询(CRTQMQRY),然后通过(STRQMQRY)运行查询。

为此,请将查询放入某种类型为TXT的源文件中。转到命令行并运行CRTQMQRY命令并创建输出QMQRY。可以提示STRQMQRY,您可以将结果保存在输出文件或打印输出中,或者以交互方式查看结果。如果您将其作为批处理作业提交,则以交互方式查看输出将无法正常工作。