大家好,我现在需要将oracle8的数据移植的oracle9中,其中以为命名标准和业务需求的改变,其中很多表的表明、列明都会改名,表的结构也可能改变,例如:学生表 oracle8的STU(NAME VARCHARE2(10),AGE INTEGER) 变成了oracle9的STUDENT(S_NAME VARCHARE2(10),S_AGE INTEGER,S_ID CHAR(12)) ,就是名字改了还多了一列,在这种情况下如何大批量移植数据啊,我现在的想法是把oracle8中的进行修改,让其所有的表和oracle9的一样,然后进行导入,或者先直接导入再修改表结构,不知道有没有更好的办法啊,这样工作量有些大,而且容易出错,有没有更好的办法做到呢?谢谢大家了。
解决方案 »
- 创建外部表出现 ORA-30654: 缺少 DEFAULT 关键字
- 如何以查询改变某列作为外键并更新数据?
- 请教关于库存中的出入库单号和相关单据2个属性
- 请教下oracle SQLplus 8.0 如何调出修改过的原始数据和数据语言。
- ID问题,建立不重复id的最好办法是什么
- 如何把短日期格式转换成长日期格式?
- redhat as 4下安装oracle 9i
- 各位老大,如果我在oracle中将值为中文的字段作为主键,对数据的查询和更新有影响吗?
- 如何在客户端连接服务器
- 删除数据量大时,sqlplus死掉,数据删不掉,该怎么办?
- 为什么LONG类型超4000字节出错??
- ps/sql developer怎样和oracle连接啊
另外也可以先导出建表的DDL成文本文件,按你的要求做修改后再导入。
2、再修改表结构
3、在导数据。
二、如果你新增的那些字段没什么主键或外键约束的话直接exp,再imp到9的数据库中。在修改表结构
BEGIN
INSERT INTO STUDENT
(S_NAME, S_AGE, S_ID)
SELECT NAM, AGE, S_ID.NEXTVAL FROM STU;
COMMIT;
END TEST1;其中S_ID为序列号
alter table stu add s_id varchar(12);
2.如果两台服务器能够连通的话,在Oracle9中使用net configuration assistant配置一个指向Oracle8的连接串,如string8;
3.建立一个db_link8:create db_link ... 请楼主查一下语句。
4.在oracle9中用sqlplus:
insert into student as select * from stu@db_link8 where ...;注意:要在student中建立主关键字,综合考虑一下。