sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo verificar si el archivo existe en PL/SQL?

El siguiente es un ejemplo de función almacenada para comprobar si existe un archivo en PL/SQL.

Ejemplo de función PL/SQL para comprobar si existe un archivo

La siguiente función toma dos parámetros, uno es para el nombre del objeto del directorio de Oracle y el segundo es el nombre del archivo y devuelve el tipo booleano. Devolverá verdadero si existe un archivo; de lo contrario, devolverá falso.

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;

Prueba

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

Salida

File exists.
PL/SQL procedure successfully completed.

Ver también:

  • Ejemplo de UTL_FILE.FCOPY
  • UTL_FILE.FREMOVE Ejemplo