Professional Documents
Culture Documents
Utl File
Utl File
Enter password:
Connected.
SQL> CREATE OR REPLACE DIRECTORY MYDIR AS 'C:\WORK';
Directory created.
Grant succeeded.
********************************************
For writing into a file
********************************************
DECLARE
L_HANDLER UTL_FILE.FILE_TYPE;
BEGIN
********************************************************************
For reading from a file and inserting data into a table
********************************************************************
Make a csv file name EMPLOYEES_DATA in you folder C:\WORK
DECLARE
F UTL_FILE.FILE_TYPE;
V_LINE VARCHAR2(1000);
VEMPNO VARCHAR2(10);
VENAME VARCHAR2(10);
VDEPTNO VARCHAR2(10);
VHIRE_DATE varchar2(30);
VDNAME VARCHAR2(10);
VDLOC VARCHAR2(10);
VSALARY varchar2(10);
VJOB_ID VARCHAR2(20);
BEGIN
F := UTL_FILE.FOPEN('MYDIR', 'EMPLOYEES_DATA.CSV', 'R');
IF UTL_FILE.IS_OPEN(F) THEN
LOOP
BEGIN
UTL_FILE.GET_LINE(F,V_LINE,1000);
IF V_LINE IS NULL THEN
EXIT;
END IF;
VEMPNO := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 1);
VENAME := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 2);
VDEPTNO := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 3);
VHIRE_DATE := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 4);
VDNAME := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 5);
VDLOC := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 6);
VSALARY := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 7);
VJOB_ID := REGEXP_SUBSTR(V_LINE, '[^,]+', 1, 8);