DB2 V9.1数据转移方案二则

简介:
概述:
数据转移指的是将一个表中的数据存储在别的地方。可以是临时表、中间表、或者文件。
数据转移是在实际开发中应用广泛,是不同数据库之间数据移植的基础工作。
数据转移是发生在部分表或者中间查询结果上,是一种轻量级的数据临时存储,与数据库备份有着很大不同。
 
概要:
本文介绍DB2数据转移的两种关键技术:转移到文件,转移到表(中间表、临时表)。
 
环境:
windows xp professional
DB2 9.1
 
方法:
 
一、将查询结果输出到文件
步骤:
1、从开始菜单打开DB2命令行处理器(或者进入db2安装目录下的bin目录), 然后执行quit命令,这样就进入DOS窗口模式了。
 
2、在DOS窗口下链接数据库(或者在第一步中先连接数据库,然后再quite,就不需要再链接数据库了),在DOS窗口模式下连接后,就可以用重定向输出>,或者增量重定向输出>>来输出查询结果了
 
3. 在DOS窗口模式下执行sql查询并重定向输出
 
然后我们去C:\下面查看,发现多了一个dm_hyml.txt文件,打开后,结果正是查询结果的输出。
 
说明:
        DB2命令行处理器和DOS命令行窗口和相似,但是两者有着本质的不同的,DB2命令行处理器是在DB2环境下的。DOS命令行实在OS环境下的。所有,在DOS窗口下,执行DB2的命令前面都要加上“db2”关键字。
        重定向输入的仅仅是文本,可以通过SQL查询的拼装字符串来输出可执行的SQL insert等语句。
 
二、将查询结果直接插入到一个表
 
步骤:
1、定义一个表,用来保存查询的数据
CREATE TABLE tt
 (   XH INTEGER not null generated by default as identity,
     HY_DM  VARCHAR(6)      NOT NULL,
     HY_MC  VARCHAR(200)    NOT NULL
  );
 
2、执行插入查询结果的sql语句
 
insert into tt(hy_dm, hy_mc)
  (select a.hy_dm, a.hy_mc
     from dm_hy a
    where a.hy_dm in ('01', '065210', '065120', '010100')
    order by a.hy_dm)
 
3、检查目标表,看是否写入数据:
 
查看结果写入成功。
 
注意:插入数据的顺序与查询结果显示的数据是一致的,下面是对这个结论的验证。
执行SQL查询,结果如下:
 
执行插入查询结果的sql后,查看插入的表,结果如下:
delete from tt;
insert into tt(hy_dm, hy_mc)
  (select a.hy_dm, a.hy_mc
     from dm_hy a
    where a.hy_dm in ('01', '065210', '065120', '010100')
    order by a.hy_mc);
 
 
查看目标表的结果:
 
得出结论:插入顺序与查询sql输入记录顺序一致,从中还可以发现一个结论:如果查询的中间表某字段为自增,则自增字段的开始数字会接着上次记录数进行递增,如果要每次都从1开始递增,则需要重建中间表。
 


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/23261,如需转载请自行联系原作者
相关文章
|
SQL 数据库
第一次机房-多步 OLE DB 操作产生错误
第一次机房-多步 OLE DB 操作产生错误
|
SQL 前端开发 关系型数据库
MySQL only_full_group_by 1055 报错的三种解决方案,临时关闭有影响吗?
当我们迁移到 MySQL 5.7+ 的版本时,常会碰到 `ERROR 1055 only_full_group_by` 错误,这是 5.7 之后 `SQL_MODE` 默认打开了严格模式导致的错误。说明你代码里有地方写的不严谨。
1257 0
|
存储 NoSQL 数据库
无主复制系统(1)-节点故障时写DB概述
单、多主复制的思路都是:客户端向某主节点发写请求,而DB系统负责将写请求复制到其他副本。
91 0
|
关系型数据库 Java 分布式数据库
【DB吐槽大会】第9期 - PG 大量连接写小事务性能差
大家好,这里是DB吐槽大会,第9期 - PG 大量连接写小事务性能差
|
运维 容灾 关系型数据库
【DB吐槽大会】第79期 - PG standby不支持配置多个上游节点
大家好,这里是DB吐槽大会,第79期 - PG standby不支持配置多个上游节点
|
SQL 关系型数据库 Java
【DB吐槽大会】第16期 - PG Standby不支持解析逻辑日志
大家好,这里是DB吐槽大会,第16期 - PG Standby不支持解析逻辑日志
|
关系型数据库 数据库
【DB吐槽大会】第4期 - PG 逻辑日志只有全局开关
大家好,这是DB吐槽大会,第4期 - PG 逻辑日志只有全局开关
|
数据库 中间件 缓存
DB主从一致性架构优化4种方法
大部分互联网的业务都是“读多写少”的场景,数据库层面,读性能往往成为瓶颈。如下图:业界通常采用“一主多从,读写分离,冗余多个读库”的数据库架构来提升数据库的读性能。
748 0
|
SQL 关系型数据库 数据库
【玩转DB2】二、DB2联邦详细操作和踩坑
建立联邦(建立数据库与数据库联系与问题) 有问题可以找小可玩,评论留言。什么是联邦??建立和另外一个库的关系,换句话说就是我可以在这个库查到另外一个库的表。 本地库连目标数据库1、登陆本地服务器数据库 切换到对应的用户:su - 本地库用户名 连接本地库:db2 connect to 本地库 user 本地库用户名 using 本地用户密码 2、开启联邦支持开启联邦支持,查看数据库管理配置文件,FEDERATED属性 db2 get dbm cfg 如联邦属性为NO, 则需开启属性,重启数据库。
3923 0