关于没有主键的数据备份问题
先在想要备份一个没有主键的的表(不是真的没有主键,只是表内的数据是从其他系统导过来的,主键不明,所以没设主键)
所谓备份就是把这张表里某个时间前的数据全部copy到一个相同表结构的表中,同时删除元表的数据
由于数据量十分的多(千万左右)想分批commit
我现在采用的是根据rownum作为条件删数据
有什么比较好的做法?
问题点数:50、回复次数:2Top
1 楼lynx(lynx)回复于 2005-03-04 12:08:50 得分 20
参考:http://community.csdn.net/Expert/topic/3819/3819285.xml?temp=.3678705Top
2 楼yown(yong)回复于 2005-03-04 16:24:11 得分 30
可以这样分步的拷入到另外一些结构相同的表中
如:
create table t001 as select * from TB where 条件1;
create table t002 as select * from TB where 条件2;
create table t003 as select * from TB where 条件3;
...
然后再插入表中另一表备份中(bak)
insert into bak select * from t001;
insert into bak select * from t001;
insert into bak select * from t001;
...
另外一种,可以用导入imp和导出exp这个表试试
Top




