Oracle 18c中的UTL_FILE.FOPEN处理

时间:2018-11-22 10:36:46

标签: oracle plsql oracle18c

从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吗?

注意:如果语法有误,请忽略

0 个答案:

没有答案