📄 testfile.sp
字号:
create or replace PROCEDURE testplg (loc IN VARCHAR2)
IS
nm VARCHAR2(200) := 'teprep.gdr';
line VARCHAR2(2000);
fid UTL_FILE.FILE_TYPE;
PROCEDURE disperr (
str IN VARCHAR2 := NULL)
IS
BEGIN
IF str IS NULL
THEN
DBMS_OUTPUT.PUT_LINE (
'Error ' || SQLERRM ||
' writing to location ' || loc ||
' and filename ' || nm
);
ELSE
DBMS_OUTPUT.PUT_LINE (
str || ' with location ' || loc ||
' and filename ' || nm
);
END IF;
UTL_FILE.FCLOSE (fid);
END;
BEGIN
DBMS_OUTPUT.ENABLE (1000000);
fid := UTL_FILE.FOPEN (loc, nm, 'R');
LOOP
UTL_FILE.GET_LINE (fid, line);
DBMS_OUTPUT.PUT_LINE(line);
END LOOP;
UTL_FILE.FCLOSE (fid);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
UTL_FILE.FCLOSE (fid);
WHEN UTL_FILE.INVALID_PATH
THEN
disperr ('UTL_FILE Invalid path');
WHEN UTL_FILE.INVALID_MODE
THEN
disperr ('UTL_FILE Invalid mode');
WHEN UTL_FILE.INVALID_FILEHANDLE
THEN
disperr ('UTL_FILE Invalid filehandle');
WHEN UTL_FILE.INVALID_OPERATION
THEN
disperr ('UTL_FILE Invalid operation');
WHEN UTL_FILE.READ_ERROR
THEN
disperr ('UTL_FILE Read error');
WHEN UTL_FILE.WRITE_ERROR
THEN
disperr ('UTL_FILE Write error');
WHEN UTL_FILE.INTERNAL_ERROR
THEN
disperr ('UTL_FILE Internal error');
WHEN OTHERS
THEN
disperr;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -