sql >> データベース >  >> RDS >> Oracle

PL / SQLにファイルが存在するかどうかを確認する方法は?

    以下は、ファイルがPL/SQLに存在するかどうかを確認するためのストアド関数の例です。

    ファイルが存在するかどうかを確認するためのPL/SQL関数の例

    次の関数は2つのパラメータを取ります。1つはOracleディレクトリオブジェクト名用で、もう1つはファイル名用で、ブール型を返します。ファイルが存在する場合はtrueを返し、そうでない場合はfalseを返します。

    CREATE OR REPLACE FUNCTION is_file_exist (p_directory IN VARCHAR2,
    p_filename IN VARCHAR2)
    RETURN BOOLEAN
    AS
    n_length NUMBER;
    n_block_size NUMBER;
    b_exist BOOLEAN := FALSE;
    BEGIN
    UTL_FILE.fgetattr (p_directory,
    p_filename,
    b_exist,
    n_length,
    n_block_size);
    
    RETURN b_exist;
    END is_file_exist;

    テスト

    SET SERVEROUTPUT ON;
    
    BEGIN
    IF is_file_exist ('CSV_DIR', 'emp.dat')
    THEN
    DBMS_OUTPUT.put_line ('File exists.');
    ELSE
    DBMS_OUTPUT.put_line ('File not exists.');
    END IF;
    END;
    /

    出力

    File exists.
    PL/SQL procedure successfully completed.

    関連項目:

    • UTL_FILE.FCOPYの例
    • UTL_FILE.FREMOVEの例
    1. SQLServerのメッセージ8114「データ型varcharから数値への変換エラー」を修正しました

    2. SQLクエリ結果の列名として列値を設定する

    3. SQLServerでJSONドキュメントから重複キーを返す方法

    4. AWSRDSデータベースインスタンスのセキュリティグループを変更します