IS_OPEN 関数 - 指定されたファイルがオープンしているかどうかを判別する
IS_OPEN 関数は、指定されたファイルがオープンしているかどうかを判別します。
構文
戻り値
この関数は、指定されたファイルがオープンされている (TRUE) か、クローズされている (FALSE) かを示すタイプ BOOLEAN の値を戻します。
関数のパラメーター
- 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