Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie überprüfe ich, ob eine Datei in PL/SQL existiert?

Das Folgende ist ein gespeichertes Funktionsbeispiel, um zu prüfen, ob eine Datei in PL/SQL existiert.

PL/SQL-Funktionsbeispiel zum Prüfen, ob eine Datei existiert

Die folgende Funktion benötigt zwei Parameter, einer ist für den Namen des Oracle-Verzeichnisobjekts und der zweite ist der Dateiname und gibt den booleschen Typ zurück. Es wird wahr zurückgegeben, wenn eine Datei existiert, andernfalls wird falsch zurückgegeben.

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;

Test

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;
/

Ausgabe

File exists.
PL/SQL procedure successfully completed.

Siehe auch:

  • UTL_FILE.FCOPY-Beispiel
  • UTL_FILE.FREMOVE-Beispiel