从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函数结尾或在try()结尾的fclose()期间销毁该对象
创建对象仅需要传递给UTL_FILE.FOPEN吗?
注意:如果语法有误,请忽略