Oracle DB 檢查檔案是否存在
最近寫的,在 oracle 9i 底下,檢查檔案是否存在
-- 驗證檔案是否存在
FUNCTION chk_exists(p_dir IN VARCHAR2, p_filename IN VARCHAR2)
RETURN BOOLEAN IS
/* declare an handle for the file */
fhandle utl_file.file_type;
v_exists BOOLEAN;
BEGIN
v_exists := FALSE;
/* try openning file for reading */
fhandle := utl_file.fopen(p_dir, p_filename, 'R');
IF utl_file.is_open(fhandle) THEN
v_exists := TRUE;
utl_file.fclose(fhandle);
END IF;
RETURN v_exists;
EXCEPTION
-- in any error case report that file does not exist.
WHEN OTHERS THEN
RETURN FALSE;
END chk_exists;
-- 複製檔案
FUNCTION exe_fcopy(p_dir1 IN VARCHAR2,
p_file1 IN VARCHAR2,
p_dir2 IN VARCHAR2,
p_file2 IN VARCHAR2) RETURN BOOLEAN IS
BEGIN
-- 將 p_dir1 的 p_file1 複製到 p_dir2 的 p_file2
utl_file.fcopy(p_dir1, p_file1, p_dir2, p_file2);
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END exe_fcopy;