table2是完全的新表,还是导之前已经有数据了?
如果是新表,可以用create table table2 as select * from table1;旧的表可以用
insert into table2 select * from table1 where rownum<=100000;
commit;
insert into table2
(select * from table1 where rownum<=200000
minus
select * from table1 where rownum<=100000);
commit;
insert into table2
(select * from table1 where rownum<=300000
minus
select * from table1 where rownum<=200000);
commit;
insert into table2
(select * from table1 where rownum<=500000
minus
select * from table1 where rownum<=300000);
commit;
如果是新表,可以用create table table2 as select * from table1;旧的表可以用
insert into table2 select * from table1 where rownum<=100000;
commit;
insert into table2
(select * from table1 where rownum<=200000
minus
select * from table1 where rownum<=100000);
commit;
insert into table2
(select * from table1 where rownum<=300000
minus
select * from table1 where rownum<=200000);
commit;
insert into table2
(select * from table1 where rownum<=500000
minus
select * from table1 where rownum<=300000);
commit;
commit;
insert into table2
(select * from table1 where rownum<=200000
minus
select * from table1 where rownum>100000);
commit;
insert into table2
(select * from table1 where rownum<=300000
minus
select * from table1 where rownum>200000);
commit;
insert into table2
(select * from table1 where rownum<=400000
minus
select * from table1 where rownum>300000);
commit;
另外,还可以用copy命令,此命令可以在不同库之间拷贝数据
set copycommit 1 //多个批次可以一次提交
set arraysize 1000 //每1000个记录,提交一次数据。这样减少回退段的大小。
copy
from username/password@servicename(源)
to username/pasword@servicename(目标)
<append|create|insert|replace>(参数,可以追加,创建,插入,替换)
table2
using select * from table1
现给分:
Michaelyfj 15
ccanhuijun 5