Thursday, March 11, 2010

Oracle Apps - UTL_FILE Example

DECLARE
FH UTL_FILE.FILE_TYPE;
LN VARCHAR2(300);
V_NAME VARCHAR2(30);
V_JOB VARCHAR2(30);
V_SAL NUMBER(7,2);
POS1 NUMBER(2);
POS2 NUMBER(2);
BEGIN
FH :=UTL_FILE.FOPEN (
'D:\ORACLE\VISDB\8.1.6\PLSQL\TEMP',
'A.LST',
'R');
LOOP
UTL_FILE.GET_LINE(FH, LN);
POS1 := INSTR(LN,',',1,1);
POS2 := INSTR(LN,',',1,2);
V_NAME := SUBSTR(LN,1,POS1-1);
V_JOB := SUBSTR(LN,POS1+1,POS2 - POS1 -1);
V_SAL := RTRIM(SUBSTR(LN,POS2+1));
INSERT INTO UTLX
VALUES
(V_NAME, V_JOB, V_SAL);
-- DBMS_OUTPUT.PUT_LINE(V_NAME||' '||V_JOB||' '||V_SAL);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
UTL_FILE.FCLOSE(FH);
COMMIT;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM(SQLCODE));
END;
/

No comments:

Post a Comment