IS_OPEN 函数 - 确定指定的文件是否已打开

IS_OPEN 函数确定指定的文件是否已打开。

语法

阅读语法图跳过直观语法图UTL_FILE.IS_OPEN (file)

返回值

此函数返回类型为 BOOLEAN 的值,用于指示指定的文件已打开 (TRUE) 还是已关闭 (FALSE)。

函数参数

file
类型为 UTL_FILE.FILE_TYPE 的输入自变量,其中包含文件句柄。

权限

对 UTL_FILE 模块的 EXECUTE 特权。

示例

以下示例演示:在将文本写至文件之前,您可调用 IS_OPEN 函数以检查该文件是否已打开。


SET SERVEROUTPUT ON@

CREATE OR REPLACE PROCEDURE proc1()
BEGIN
  DECLARE  v_filehandle    UTL_FILE.FILE_TYPE;
  DECLARE  isOpen          BOOLEAN;
  DECLARE  v_dirAlias      VARCHAR(50) DEFAULT 'mydir';
  DECLARE  v_filename      VARCHAR(20) DEFAULT 'myfile.csv';  
  CALL UTL_DIR.CREATE_OR_REPLACE_DIRECTORY('mydir', '/tmp');
  SET v_filehandle = UTL_FILE.FOPEN(v_dirAlias,v_filename,'w');
  SET isOpen = UTL_FILE.IS_OPEN( v_filehandle );
    IF isOpen != TRUE THEN
      RETURN -1;
    END IF;
  CALL UTL_FILE.PUT_LINE(v_filehandle,'Some text to write to the file.');
  CALL DBMS_OUTPUT.PUT_LINE('Updated file: ' || v_filename);
  CALL UTL_FILE.FCLOSE(v_filehandle);
END@

CALL proc1@

此示例生成以下输出。

Updated file: myfile.csv