数据是什么形式的?是文本文件还是在表里?如果是文本文件可以用sqlload导入。如果是在表里可以
insert into test select column from tablename where ...

解决方案 »

  1.   

    呵呵
    最简单的办法是insert into tname select * from tname;
    敲50编基本可以满足要求有空的时候commit一下  
      

  2.   

    :(..我知道用循环,有个朋友告诉我以下代码:For I In 1..10000 Loop
        insert into test values('name字段内容','jianjie字段内容');
    End Loop;当然这是不完整的,好像没有定义变量,我不知道怎么定义啊。。我不需要深入学习ORACLE。。我只需要有100M数据来进行测试我的程序。。所以请给出完整的代码。。
      

  3.   

    可以用循环
    也可以利用笛卡儿乘机来INSERT
      

  4.   

    create or replace procedure p1
    as
    v_num  number(20,0);
    begin
    v_num :=1;
    loop
    exit when v_num = 1000000000
    insert into test(content) values('第'||to_char(v_num)||'条纪录');
    end loop;
    commit;
    end ;
    然后执行该存储过程就行了
      

  5.   

    不用这么麻烦啦!  这样是帮不了这位弟兄的。(引用:......当然这是不完整的,好像没有定义变量,我不知道怎么定义啊。。我不需要深入学习ORACLE。。我只需要有100M数据来进行测试我的程序。。所以请给出完整的代码。。)
    declare 
       v_num  number(20,0);
       v_Bytes number(15,2);
    begin   
      v_num :=1;
      loop
        loop
         exit when v_num = 1000000000;
         insert into test(content) values('第'||to_char(v_num)||'条纪  录');
         end loop;
         commit;
         select round(bytes/1024/1024,2) into v_Bytes from user_segments
         where SEGMENT_NAME='TEST' and segment_type='TABLE';
         exit when v_Bytes >=100; --比较大小是否达到100M
      end loop;
    end ;
    /
    进入SQL*plus,拷贝上面的语句回车执行即可。
      

  6.   

    改了一下Framers(边城浪子)兄的代码
    declare 
       v_num  number(20,0);
       v_Bytes number(15,2);
    begin   
      v_num :=1;
      loop
        loop
         exit when v_num = 1000000000;
         insert into test(content) values('第'||to_char(v_num)||'条纪  录');
         if mod(v_num ,1000)=0 then//分段提交
         commit;
         end if;
         end loop;
         commit;
         select round(bytes/1024/1024,2) into v_Bytes from user_segments
         where SEGMENT_NAME='TEST' and segment_type='TABLE';
         exit when v_Bytes >=100; --比较大小是否达到100M
      end loop;
    end ;
    /
      

  7.   

    呵呵
    还在争?简单的就是insert into tname select * from tname;多执行几次;
    学过数学的人都知道数量是呈2次冥拓展什么循环都不要
    嘿嘿  想当初我也是这么凑足几千万的数据的