使用SQL语句进行数据迁移之二(by quqi99)

本文介绍了一种使用SQL语句进行数据迁移的方法,包括创建新表、修改旧表结构及数据转移等步骤。通过实例演示了如何高效地完成数据库结构调整。

                                               使用SQL语句进行数据迁移之二(by quqi99)


作者:张华 发表于:2007-12-03  ( http://blog.youkuaiyun.com/quqi99 )

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。

 

 

      做了一个应用程序,可是用户提出了修改意见,并且修改幅度很大,改动了数据库,不想写程序做数据迁移,研究了下使用SQL语句进行数据迁移的全过程。 

数据库的更动:
ü         以前没有部门,将部门表挪用成了分类表;
ü         并且在建议表中新增了与分类表的关联category
1、  备份226上的数据: (226: sys/managerasop)
Exp lyb/passwd$1@asopdb _172.17.1.226  tables=(bumen,function,role,role_function,userinfo,user_bumen,user_role,yijian) file=f:/lyb.dmp 
以后操作失败时,恢复数据库如下:
2、 增加分类表,与在意见表中增加分类字段。
1)连接数据库
Connect lyb/passwd$1@oracledb;
2)创建分类表
  CREATE TABLE  CATEGORY (
ID        NUMBER(9) NOT NULL,
NAME   VARCHAR2(32),
ORDER1  NUMBER(9),
LOCAL  VARCHAR2(5),
CONSTRAINT PK_Vocation PRIMARY KEY (id)
);
   3)在yijian表中增加category字段
     Alter table yijian add category NUMBER(9);
3、将bumen表的数据迁移到category表
Insert into category(id,name,order1,local) (select id,bumen,order1,local from bumen);
Commit;
4、将yijian表中bumen表字段的值写到category字段中(因为以前没有部门,将部门表挪用成了分类表)
Update yijian y1 set category=(select bumen from yijian y2 where y1.id=y2.id);
Commit;
1、  将yijian表中的bumen字段的值置为0。(因为以前没有部门,将部门表挪用成了分类表,现在有部门,给它初值)
Update yijian set bumen=0;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

quqi99

你的鼓励就是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值