CREATE_DIRECTORY プロシージャー - ディレクトリー別名の作成

CREATE_DIRECTORY プロシージャーは、指定されたパスのディレクトリー別名を作成します。

ディレクトリー情報は、最初にこのモジュールを参照したときにデータベースごとに SYSTOOLSPACE に作成される、SYSTOOLS.DIRECTORIES に保管されます。

構文

構文図を読む構文図をスキップするUTL_DIR.CREATE_DIRECTORY (alias,path)

プロシージャー・パラメーター

alias
ディレクトリー別名を指定する、タイプ VARCHAR (128) の入力引数。
path
パスを指定する、タイプ VARCHAR(1024) の入力引数。

許可

UTL_DIR モジュールに対する EXECUTE 特権。

ディレクトリー別名を作成し、UTL_FILE.FOPEN 関数の呼び出しで使用します。

SET SERVEROUTPUT ON@

CREATE OR REPLACE PROCEDURE proc1()
BEGIN
  DECLARE  v_filehandle    UTL_FILE.FILE_TYPE;
  DECLARE  isOpen          BOOLEAN;
  DECLARE  v_filename      VARCHAR(20) DEFAULT 'myfile.csv'; 
  CALL UTL_DIR.CREATE_DIRECTORY('mydir', '/home/user/temp/mydir');
  SET v_filehandle = UTL_FILE.FOPEN('mydir',v_filename,'w');
  SET isOpen = UTL_FILE.IS_OPEN( v_filehandle );
    IF isOpen != TRUE THEN
      RETURN -1;
    END IF;
  CALL DBMS_OUTPUT.PUT_LINE('Opened file: ' || v_filename);
  CALL UTL_FILE.FCLOSE(v_filehandle);
END@

CALL proc1@

この例では、以下の出力が結果として戻ります。

Opened file: myfile.csv