我在PL/SQL里面写了个循环 我的目的是插入5万条纪录,a 是手机号码, b 是IMEI号
数据库是已经设计好的 字段类型不能改变for i in 1..50000
 loop 
     insert in tablename (a,b,c) --其中a,b,c字段都是varchar2(16)
          values( '130000'||i,'1'||i,'nokia');---可能在这边处理的不对
        if mode(i,200) =199 then
              commit;
        end if;
 end loop ;
end  ;

解决方案 »

  1.   

    values( to_char(13000000000+i),to_char(1000000+i),'nokia');---也不行 郁闷!!
      

  2.   

    试下把 i 转换成字符型的。
    values( '130000'||+to_char(i),'1'||to_char(i),'nokia')
    未经过测试,成败与否未知。
      

  3.   

    问题:1、没看到begin;
              2、insert into写成了insert in;
              3、模运算应该为mod
    如下: 
    begin
     for i in 1..100
     loop
     insert into test_1120 values
     (to_char('130000'||i),to_char('1'||i),'nokia');
     if mod(i,20)=19 then
     commit;
     end if;
    end loop;
    end;
    /
      

  4.   

    我希望通过循环从13000000000 --13000600000
    但是在数据库里面的字段为varchar
      

  5.   

    for i in 0..50000
    values( to_char(13000000000+i),to_char(1000000+i),'nokia');---也不行 郁闷!!
    什么不行,有什么错误
    没看明白到底要怎么处理数据
      

  6.   

    begin
    for i in 0..50 loop
    dbms_output.put_line (to_char(13000000000+i) || '      ' || to_char(1000000+i));
    --values( to_char(13000000000+i),to_char(1000000+i),'nokia');---
    end loop;
    end;---
    13000000000      1000000
    13000000001      1000001
    13000000002      1000002
    13000000003      1000003
    13000000004      1000004
    13000000005      1000005
    13000000006      1000006
    13000000007      1000007
    13000000008      1000008
    13000000009      1000009
    13000000010      1000010
    13000000011      1000011
    13000000012      1000012
    13000000013      1000013
    13000000014      1000014
    13000000015      1000015
    13000000016      1000016
    13000000017      1000017
    13000000018      1000018
    13000000019      1000019
    13000000020      1000020
    13000000021      1000021
    13000000022      1000022
    13000000023      1000023
    13000000024      1000024
    13000000025      1000025
    13000000026      1000026
    13000000027      1000027
    13000000028      1000028
    13000000029      1000029
    13000000030      1000030
    13000000031      1000031
    13000000032      1000032
    13000000033      1000033
    13000000034      1000034
    13000000035      1000035
    13000000036      1000036
    13000000037      1000037
    13000000038      1000038
    13000000039      1000039
    13000000040      1000040
    13000000041      1000041
    13000000042      1000042
    13000000043      1000043
    13000000044      1000044
    13000000045      1000045
    13000000046      1000046
    13000000047      1000047
    13000000048      1000048
    13000000049      1000049
    13000000050      1000050