建立1100000行测试数据的的测试表
create table TestTable12 as
select rownum as id,
to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime,
trunc(dbms_random.value(0, 100)) as random_id,
dbms_random.string('x', 20) random_string
from dual
connect by level <= 11000000(数据行数);
如果上面的数据行数不够,而且扩大行数的时候内存报错可以在上面的基础上使用下面的语句。
DECLARE
w_row int;
BEGIN
w_row:=1100001;
for w_row in reverse 1100001 .. 1111111111 loop
insert into TESTTABLE1 (id, inc_datetime, random_id, random_string) values
(w_row
,to_char(sysdate + 1/24/3600, 'yyyy-mm-dd hh24:mi:ss'),
trunc(dbms_random.value(0, 100)), dbms_random.string('x', 20) );
if mod(w_row,100000)=0 THEN
commit;
end if;
end loop;
end;