Начиная с Oracle Database 18c, параметр UTL_FILE_DIR больше не поддерживается.Вместо этого необходимо указать имя объекта каталога.
Например: file_open () создает объект p_target_dir_obj.
где следует удалять p_target_dir_obj?
Пример кода PLSQL:
FUNCTION file_open(p_target_dir IN VARCHAR2,
p_file_name IN VARCHAR2,
p_write IN BOOLEAN)
RETURN t_file
IS
BEGIN
CREATE DIRECTORY p_target_dir_obj AS p_target_dir --Created Dir object
-- open file
RETURN UTL_FILE.FOPEN(p_target_dir_obj, p_file_name, 'W', 2001);
END file_open;
PROCEDURE trial()
IS
BEGIN
p_error_file := file_open(p_debug_dir,file_name, TRUE);
UTL_FILE.fclose(p_error_file);
END
Может ли объект быть уничтожен в конце функции file_open или во время fclose (), котораянаходится в конце испытания ()
Требуется ли создание объекта только для передачи в UTL_FILE.FOPEN?
Примечание: Пожалуйста, игнорируйте, если есть какая-либо синтаксическая ошибка