将一个数据库中表的数据导入另一个数据库(DB2)
将一个数据库中的数据导入另一个数据库(DB2)
我这里举得例子是使用的DB2数据库,其他数据库思路也是这样啦!
1、从db2 数据库中将表中的数据导入本地的excel中
export to d:\mytest.xls of del modified by nochardel coldel0x09 select * from IOUT_BUSI_YWDJMX_TEMP
2、在需要导入的数据库建立一个临时表
--创建临时表
CREATE TABLE NBADV.l_hzcitywa
( fhcode varchar(20),
dhcode varchar(20),
away DECIMAL(19, 4) )
DATA CAPTURE NONE
IN USERSPACE1@ ALTER TABLE NBADV.l_hzcitywa
LOCKSIZE ROW
APPEND OFF
NOT VOLATILE@
3、将excel另存为csv格式的文件,导入到数据库的临时表中
--将数据导入临时表
import from "D:\hz.csv" OF DEL INSERT INTO nbadv.l_hzcitywa@
4、对数据进行处理
--查出重复的数据
select distinct a.DELI_UNIT_CD,c.fhcode,a.ARRI_UNIT_CD,c.dhcode,count(c.away) from ST_I_STD_MILEAGE a
inner join nbadv.l_hzcitywa c on a.DELI_CITY_NM=c.fhcode and a.ARRI_CITY_NM=c.dhcode
group by a.DELI_UNIT_CD,c.fhcode,a.ARRI_UNIT_CD,c.dhcode
having count(*)>1 --删除掉重复的数据
delete from nbadv.l_hzcitywa where dhcode in ('北京','东莞','拉萨','天水','酒泉','平凉','庆阳','铜川','咸阳','烟台')@
5、处理后的数据通过db2存储过程将所需要的数据更新到第二个数据库的表中,这里关键是找到临时表与需要更新数据的表中的关联关系;
--创建存储过程,更新合同里程
drop procedure L_getcityway@ create procedure L_getcityway(
in v_personId int
)
language sql
dynamic result sets 0 begin
declare sqlcode int;
declare sqlstate char(5);
declare v_errcode int default 0; --更新合同里程
merge into ST_I_TRANS_MILEAGE a
using (
select distinct a.DELI_UNIT_CD,c.fhcode,a.ARRI_UNIT_CD,c.dhcode,c.away from ST_I_STD_MILEAGE a
inner join nbadv.l_hzcitywa c on a.DELI_CITY_NM=c.fhcode and a.ARRI_CITY_NM=c.dhcode and c.fhcode= '渭南'
)b
on a.DELI_STORE_CD=b.DELI_UNIT_CD and a.ARRI_STORE_CD=b.ARRI_UNIT_CD
when matched then
update set a.ACTUAL_MILEAGE=b.away; --计算差异
update ST_I_TRANS_MILEAGE set DIFFERENCE=(ACTUAL_MILEAGE-STD_MILEAGE)*100.000000/STD_MILEAGE where DELI_STORE_CD=2061000101 and STD_MILEAGE is not null and STD_MILEAGE<>0; --更新备注
update ST_I_TRANS_MILEAGE set REMARK='无' where DIFFERENCE>10 and DELI_STORE_CD in ('','','','',''); return v_errcode; end@
到此,已经实现从第一个数据库的表中的数据更新到第二个数据库中了;
将一个数据库中表的数据导入另一个数据库(DB2)的更多相关文章
- SQL Server 之 在数据库之间进行数据导入导出
1.同一服务器上数据库之间进行数据导入导出 (1).使用 SELECT INTO 导出数据 在SQL Server中使用最广泛的就是通过SELECT INTO语句导出数据,SELECT INTO语句同 ...
- 怎样把excel的数据导入到sqlserver2000数据库中
在做程序的时候有时需要把excel数据导入到sqlserver2000中,以前没从外部导入过数据,今天刚做了一下导入数据,感觉还是蛮简单的,没做过之前还想着多么的复杂呢,下面就来分享一下我是如何把ex ...
- phpexcel的写操作将数据库中的数据导入到excel中
这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...
- 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)
原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方 ...
- 用ttBulkCp把excel中的数据导入到timesten数据库中
最近要做数据预处理,需要用到数据库.而且是以前从来没听说过的TimesTen. 首要目标是要把Excel里的数据,导入到TimesTen数据库中.而TimesTen在win10里用不了,于是我就在虚拟 ...
- 如何将数据库中的数据导入到Solr中
要使用solr实现网站中商品搜索,需要将mysql数据库中数据在solr中创建索引. 1.需要在solr的schema.xml文件定义要存储的商品Field. 商品表中的字段为: 配置内容是: < ...
- Excel表数据导入Sql Server数据库中
Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...
- Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)
一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...
- 用JDBC把Excel中的数据导入到Mysql数据库中
步骤:0.在Mysql数据库中先建好table 1.从Excel表格读数据 2.用JDBC连接Mysql数据库 3.把读出的数据导入到Mysql数据库的相应表中 其中,步骤0的table我是先在Mys ...
随机推荐
- Linux下对于makefile的理解
什么是makefile呢?在Linux下makefile我们可以把理解为工程的编译规则.一个工程中源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,那些 ...
- Python3之collections模块
简介 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple namedtuple 是一个函数,它用来创建一个自定义的元组对象,并且规定了元组元素的个数 ...
- leetcode-119-Pascal's Triangle II(生成某一行的帕斯卡三角形)
题目描述: Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle ...
- 运算符重载入门demo
#include "pch.h" #include <iostream> using namespace std; class A { public: A(int x, ...
- Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名
Oracle数据库,用mybatic批量插入数据: <insert id="saveBatch" parameterType="io.renren.entity.N ...
- CF1012B Chemical table 题解【二分图】【构造】
有意思的网格图转化.CF Div.1 还是挺有难度的. 注:由于本题有较完美的中文题面,所以不贴英文题面. 英文题面 题目描述 Innopolis 大学的教授正努力研究元素周期表.他们知道,有 \(n ...
- 彻底成功配置Maven和Eclipse集成
这篇文章是分享给还在苦苦挣扎eclipse和Maven环境配置的同志,让其少走弯路,话不多说,直接开始吧 环境出问题一是配置没有配置好,二是各个部分可能出现兼容问题,导致错误,综上,我选择了一个切实可 ...
- php查询某个字段指定值的所有条数
一.查询某个字段指定值的所有条数 以name叫张三的人为例,查询表中叫张三的人的总数 $where['name']='张三'; $count=M('table')->where($where)- ...
- 一个数字键盘引发的血案——移动端H5输入框、光标、数字键盘全假套件实现
https://juejin.im/post/5a44c5eef265da432d2868f6 为啥要写假键盘? 还是输入框.光标全假的假键盘? 手机自带的不用非得写个假的,吃饱没事干吧? 装逼?炫技 ...
- Docker搭建tomcat运行环境(Dockerfile方式)
上一篇文章的基本做法是通过centOS的官方镜像启动一个容器,然后进入到容器中,手动敲命令安装JDK跟tomcat,这个跟在linux下搭建没有什么区别,只是用来熟悉docker命令,并且在日常开发中 ...