Oracle
 sql >> Database >  >> RDS >> Oracle

Come verificare se il file esiste in PL/SQL?

Quello che segue è un esempio di funzione memorizzata per verificare se esiste un file in PL/SQL.

Esempio di funzione PL/SQL per verificare se esiste un file

La funzione seguente accetta due parametri, uno è per il nome dell'oggetto della directory Oracle e il secondo è il nome del file e restituisce il tipo booleano. Restituirà true se esiste un file altrimenti restituisce 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;

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

Uscita

File exists.
PL/SQL procedure successfully completed.

Vedi anche:

  • Esempio UTL_FILE.FCOPY
  • UTL_FILE.FREMOVE Esempio