'INSERT ALL INTO throws ORA-01722: invalid number

I want to copy a view into a table. Below procedure throws ORA-01722: invalid number

BEGIN
   INSERT ALL
     INTO DB_LOCATIONS
      SELECT * FROM DB_LOCVIEW ; 
   COMMIT;
EXCEPTION
   WHEN OTHERS
   THEN
      BEGIN
         DBMS_OUTPUT.put_line  ('SQLCODE: ' || SQLCODE||'  -SQLERRM: '||SQLERRM);
      END;
END;

On the other hand, If I try it with for loop, everything is fine:

DECLARE
    currow integer := 1;
BEGIN
    DBMS_OUTPUT.put_line ('starting.....');
    for xxinserteddata in (select * from DB_LOCVIEW )
    LOOP  
        BEGIN           
            DBMS_OUTPUT.put_line('currow: ' || currow);
            INSERT INTO DB_LOCATIONS ( 
                DB_DATE,
                LOCATIONID,
                MX_ET,
                MX_MT,
                BAND,
                SITE) 
            VALUES (  
                xxinserteddata.DB_DATE,
                xxinserteddata.LOCATIONID,
                xxinserteddata.MX_ET,
                xxinserteddata.MX_MT,
                xxinserteddata.BAND,
                xxinserteddata.SITE );
            currow := currow + 1;
        END;
    END LOOP;
    COMMIT;
    DBMS_OUTPUT.put_line ('end.');
EXCEPTION
   WHEN OTHERS
   THEN
      BEGIN
         DBMS_OUTPUT.put_line  ('-currow: ' || currow || '  -SQLCODE: ' || SQLCODE||'  -SQLERRM: '||SQLERRM);
      END;
END;

Both view and table has only 5 same columns. Any idea why insert all throws exception?

EDIT: Adding create procedures:

View:

CREATE OR REPLACE FORCE VIEW DB_LOCVIEW ("LOCATIONID", "SITE", "MX_ET", "MX_MT", "DB_DATE", "BAND") AS 
      SELECT 
        l.LOCATIONID,
        l.SITE,
        l.MX_ET,
        l.MX_MT,
        l.CHANGE_DATE AS db_date,
        d.BAND
    FROM ALL_LOCATIONS l
    INNER JOIN LOC_DETATILS d ON (l.location = d.location)
    WHERE l.status = 'ACTIVE' ;

Table:

CREATE TABLE DB_LOCATIONS 
   (    "LOCATIONID" NUMBER, 
    "DB_DATE" DATE, 
    "MX_ET" NUMBER(10,2), 
    "MX_MT" NUMBER(10,2), 
    "SITE" VARCHAR2(8), 
    "BAND" NUMBER
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DB_DATA" ;


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source