CREATE OR REPLACE PROCEDURE adddata (a VARCHAR2, b VARCHAR2)
AS
   i   INTEGER;
   j   INTEGER;
   m   INTEGER;
   n   INTEGER;
BEGIN
   i :=
      TO_NUMBER (REPLACE (TRANSLATE (UPPER (a),
                                     'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                                     '                          '
                                    ),
                          ' ',
                          ''
                         )
                );
   j :=
      TO_NUMBER (REPLACE (TRANSLATE (UPPER (b),
                                     'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                                     '                          '
                                    ),
                          ' ',
                          ''
                         )
                );   IF i > j
   THEN
      m := j;
      n := i;
   ELSE
      m := i;
      n := j;
   END IF;   WHILE m <= n
   LOOP
      INSERT INTO ccc
           VALUES (m, n);      m := m + 1;
   END LOOP;
END;
/

解决方案 »

  1.   

    create or replace procedure test
    as
    v_index number;
    begin
    for v_index in 1..1000 loop
    insert into a values(to_char(v_index,'0000'));
    end loop;
    end;
      

  2.   

    CREATE OR REPLACE PROCEDURE INSERT_PRO
    AS  
    BEGIN
      FOR I IN 1..1000 LOOP
        INSERT INTO A (FIELD_NAME) VALUES (LTRIM(TO_CHAR(I,'0000')));
      END LOOP;
    EXCEPTION
      WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SUBSTR('ERROR:'||SQLERRM,1,255));
    END INSERT_PRO;