Skip to main content

import data in CSV,XML AND XLS into a table

XML

INSERT INTO TABLE_NAME_1 (ID,NAME)
SELECT
 C3.VALUE('ID[1]','INT') AS ID,
 C3.VALUE('NAME[1]','VARCHAR2(10)') AS NAME
 FROM
 (SELECT CAST(C1 AS XML)
 FROM OPENROWSET
 (BULK 'FILE PATH',SINGLE_BLOB) AS T1(C1))AS T2(C2)
CROSS APPLY C2.NODES('/TABLE_NAME/TABLE_NAME') T3(C3); 


CSV

BULK
INSERT TABLE_NAME_1 FROM 'FILE PATH'
WITH
  ( FIELDTERMINATOR=',', FIRSTROW=2, ROWTERMINATOR='\n'
  );


XLS

INSERT INTO TABLE_NAME_1
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;DATABASE=FILE PATH;', 'SELECT * FROM [SHEET1$];');

Comments

Popular posts from this blog

Insert script with multiple cursors and condition check

DECLARE CURSOR C1 IS   SELECT ID FROM TABLE_NAME_1 WHERE COLUMN IN ('');   CURSOR C2     IS       SELECT ID FROM TABLE_NAME_2 WHERE COLUMN IN ('');              CURSOR C3 (CP_TABLE_01_ID NUMBER,CP_TABLE_02_ID NUMBER)         IS           SELECT COUNT(*) AS COUNT_UP           FROM TABLE_NAME_3           WHERE COLUMN_CONDITION_01=CP_TABLE_02_ID           AND COLUMN_CONDITION_02=CP_TABLE_01_ID; COUNT_UP NUMBER; BEGIN FOR R1 IN C1 LOOP     FOR R2 IN C2     LOOP          OPEN C3(R1.ID,R2.ID);        FETCH C3 INTO COUNT_UP;        CLOSE C3;               IF (COUNT_UP=0) THEN           INSERT           INTO TABL...

REF Cursor

REF CURSOR WILL BE DYNAMICALLY OPENS OR OPEN BASED ON A LOGIC. DECLARE TYPE C1 IS REF CURSOR ; CURSOR C IS SELECT * FROM DUAL; REF_CURSOR RC; BEGIN IF (TO_CHAR(SYSDATE, 'DD' ) = 30 ) THEN OPEN REF_CURSOR FOR 'SELECT * FROM TABLE1' ; ELSIF ( TO_CHAR(SYSDATE, 'DD' ) = 29 ) THEN OPEN REF_CURSOR FOR SELECT * FROM TABLE2; ELSE OPEN REF_CURSOR FOR SELECT * FROM DUAL; END IF ; OPEN C; END ;