CREATE OR REPLACE PACKAGE PK_EXCEL_TO_DB IS TYPE tKeyValue IS RECORD (V_ROUTE VARCHAR2(255), ROUTE_VAL VARCHAR2(4000)); TYPE tDataList IS TABLE OF tKeyValue; PROCEDURE PR_DO_INSERT(i_lData IN tDataList); END; CREATE OR REPLACE PACKAGE BODY PK_EXCEL_TO_DB IS PROCEDURE PR_DO_INSERT(i_lData IN tDataList) IS COL_NAME VARCHAR2(32000); COL_VALUE VARCHAR2(32000); BEGIN FOR i IN 1..i_ldata.COUNT LOOP COL_NAME :=COL_NAME || ',' || i_ldata(i).COL_NAME ; COL_VALUE:=COL_VALUE|| ',''' || i_ldata(i).COL_VALUE || ''''; END LOOP; EXECUTE IMMEDIATE 'INSERT INTO ROUTE_DTL (' || SUBSTR(COL_NAME, 2) || ') VALUES (' || SUBSTR(COL_VALUE,2) || ')'; END; END;