如何从DB2中的表生成插入脚本

如何从DB2中的表生成插入脚本,db2,iseries-navigator,Db2,Iseries Navigator,我在DB2中有一个表,我查询该表以获得我感兴趣的一些特定记录 现在,我想为这个数据生成一个插入脚本。提供的导出选项不适用于我,因为我需要向客户端提供生成脚本 我读过关于使用第三方工具(如DBArtisan)的可能性。但是,我没有下载第三方工具的可能性 我将System I Navigator与DB2®for IBM®结合使用 编辑:根据@WarrenT的问题,我添加了更多信息,以帮助改进我的问题 假设我必须查询数据库的SQL语句是 SELECT * FROM my_table WHERE col

我在DB2中有一个表,我查询该表以获得我感兴趣的一些特定记录

现在,我想为这个数据生成一个插入脚本。提供的导出选项不适用于我,因为我需要向客户端提供生成脚本

我读过关于使用第三方工具(如DBArtisan)的可能性。但是,我没有下载第三方工具的可能性

我将System I Navigator与DB2®for IBM®结合使用

编辑:根据@WarrenT的问题,我添加了更多信息,以帮助改进我的问题

假设我必须查询数据库的SQL语句是

SELECT * FROM my_table WHERE colValue>='500'
建议的答案之一是:

INSERT INTO target_table 
SELECT * FROM my_table WHERE colValue>='500'
虽然我同意这是最好的解决方案,但我不能这样做,因为在目标环境中,他们没有“my_table”表。我不是不同脚本类型的专家,我知道我需要典型的脚本

INSERT INTO target_table (parm1, parm2,...) VALUES (val1, val2,...)

那么您有一个SQL查询来选择要插入到另一个表中的记录

您可能只是想使用INSERT命令。如果要填充目标表中的所有列,则可以使用以下格式:

INSERT INTO your_target_table
    SELECT your query goes here;
如果查询返回的列与目标表中的列匹配,则此操作有效。 如果没有,则必须列出要填充的目标列


有关更多详细信息,请参阅SQL参考手册中的。

问题是我无法使用该方法。由于政策原因,我必须提交一个脚本,而不是SQL语句。请定义脚本的含义。如果您将iNavigator的运行SQL语句会话中的语句保存在带有.SQL后缀的PC文件中,那么这通常称为SQL脚本。另一种类型是将语句存储在iSeries上的库(ie模式)中的源文件成员(通常为QSQLSRC)中。这可以通过STRSQLSTM CL命令运行。Unix类型she'll脚本在此平台上并不常见,但可以在Qshell或PASE(类似AIX的环境)下运行。选择所需记录的SQL查询有一个简单条件,即列值必须大于500。但是,我无法传递SQL“INSERT INTO table SELECT my_simple_query”,因为在目标环境中,他们没有“my_simple_query”所需的表。我不是不同脚本类型的专家,我知道我需要典型的脚本“插入到目标_表(parm1,parm2,…)值(val1,val2,…)”啊,你想通过脚本将数据从一个系统传输到另一个系统。这两个平台都是DB2 for i吗?如果是这样的话,而且您有幸应用了最新的技术更新,那么实际上,您可以使用三部分命名直接从一个系统插入到另一个系统。大约需要传输多少行?如果两台机器都在IBMi上,FTP是可行的选择吗?或者DDM?不,遗憾的是这不是一个可行的选择。DDM?对不起,不知道那是什么!