PL SQL Oracle PLSQL

SQL> CREATE TABLE MyTable (
  2    num_col    NUMBER,
  3    char_col   VARCHAR2(60)
  4    );
Table created.
SQL>
SQL>
SQL> DECLARE
  2    TYPE t_Numbers IS TABLE OF MyTable.num_col%TYPE
  3      INDEX BY BINARY_INTEGER;
  4    TYPE t_Chars IS TABLE OF MyTable.char_col%TYPE
  5      INDEX BY BINARY_INTEGER;
  6    v_Numbers t_Numbers;
  7    v_Chars t_Chars;
  8  BEGIN
  9    FOR v_Count IN 1..50 LOOP
 10      v_Numbers(v_Count) := v_Count;
 11      v_Chars(v_Count) := 'Row number ' || v_Count;
 12    END LOOP;
 13
 14    FORALL v_Count IN 1..50
 15      INSERT INTO MyTable VALUES
 16        (v_Numbers(v_Count), v_Chars(v_Count));
 17  END;
 18  /
PL/SQL procedure successfully completed.
SQL>
SQL> drop table MyTable;
Table dropped.
SQL>