REM 测试批量查询用 test表中有100000000条记录
create or replace procedure datafortestbank as
v_count    number;      --表中个数
v_id       number;      --序号
begin
  select count(*) into v_count from test;
  
  for v_id in 1..5 loop 
  
    insert into testbank(Account,bank) 
    select 'ACC'||lpad(ceil(dbms_random.value(1,v_count)),16,'0'),'001' from test where rownum <=1000000 ;
    commit;
   
  end loop;      for v_id in 1..5 loop 
  
    insert into testbank(Account,bank) 
    select 'ACC'||lpad(ceil(dbms_random.value(1,v_count)),16,'0'),'001' from test where rownum <=5000000 ;
    commit;
   
  end loop;      for v_id in 1..5 loop 
  
    insert into testbank(Account,bank) 
    select 'ACC'||lpad(ceil(dbms_random.value(1,v_count)),16,'0'),'001' from test where rownum <=10000000 ;
    commit;
   
  end loop;    
end datafortestbank;
/

解决方案 »

  1.   

    刚才说漏了,数据是在一个文本文件中放着。怎样才能将数据批量导入表中,用PL/SQL Develope.
      

  2.   

    in_file := Text_IO.Fopen(in_file_name, 'r');
    Text_IO.Get_Line(in_file, linebuf);
    Text_IO.New_Line(in_file,0);就这3句了!呵呵。
      

  3.   

    你可以把insert的内容做成脚本(脚本.txt),然后在splplus中登陆完以后用@脚本.txt;就ok了在脚本中如果怕丢失数据的话,可以每隔一段加一个commit;
      

  4.   

    PL/SQL Develope->tools->import tables
    按选项做就可以了
      

  5.   

    to: zhenyukeji(何处是我家) 
    我也是这样的,可找不到我想插入的表名。望再告知。
      

  6.   

    PL/SQL Developer->tools->import tables
    使用imp,
    imp不能导入文本文件导入文本文件使用sql*loader,在PL/SQL Developer还没有这项功能