Oracle UTL_FILE可以同时打开多个文件吗?

时间:2017-07-21 17:21:49

标签: database oracle oracle11g utl-file

是否可以使用Oracle UTL_FILE同时打开多个文件?

目前,我无法自己测试,因为我没有权限,无法将它们授予自己,能够使用UTL_FILE打开和写入文件。

1 个答案:

答案 0 :(得分:1)

是的,有可能。每次调用utl_file.fopen()utl_file.fopen_nchar()都会返回不同的文件描述符记录。将每个结果存储到不同的PL / SQL变量中,您就安全了。

declare
    l_file_1                utl_file.file_type;
    l_file_2                utl_file.file_type;
begin
    l_file_1 := utl_file.fopen(
        location => 'MY_INPUT_DIRECTORY',
        filename => 'my_input_file.txt',
        open_mode => 'rb'
    );
    l_file_2 := utl_file.fopen(
        location => 'MY_OUTPUT_DIRECTORY',
        filename => 'my_output_file.txt',
        open_mode => 'wb'
    );
    /*
    your multi-file handling logic comes here...
    */
    utl_file.fclose_all();
exception
    when others then
        utl_file.fclose_all();
        raise;
end;
/