|
CREATE OR REPLACE PROCEDURE file_read (
file_dir VARCHAR2 DEFAULT 'TEMP_DIR',
file_name VARCHAR2 DEFAULT 'trc.txt'
)
IS
vinhandle UTL_FILE.file_type;
vnewline VARCHAR2 (500);
v_num NUMBER := 0;
BEGIN
vinhandle := UTL_FILE.fopen (file_dir, file_name, 'R');
LOOP
BEGIN
UTL_FILE.get_line (vinhandle, vnewline);
IF vnewline IS NOT NULL
THEN
INSERT INTO temp
VALUES (
SUBSTR (vnewline,
INSTR (vnewline, ' ', 1, 3) + 1,
INSTR (vnewline, ' ', 1, 4)
- INSTR (vnewline, ' ', 1, 3)
- 1
));
v_num := v_num + 1;
IF v_num = 100
THEN
COMMIT;
v_num := 0;
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
COMMIT;
EXIT;
END;
END LOOP;
UTL_FILE.fclose (vinhandle);
END;
[ 本帖最后由 wanhualeng 于 2009-7-23 11:29 编辑 ] |
|