Ich arbeite an einem Paket, das Dateinamen aus einem Verzeichnis als in_file_name
Parameter übergibt, aber das aufrufende Programm übergibt auch die Unterverzeichnisnamen und es sollte nicht. Im Moment bin ich Abbruchs das Paket, wenn die in_file_name
ist ein Unterverzeichnis, indem Sie die folgenden Schritte aus:Oracle PL/SQL - überprüfen, ob Eingabeparameter ein Verzeichnis ist
IF in_file_name IN ('sub_dir_1','sub_dir_2','sub_dir_3')
THEN
RETURN;
END IF;
Allerdings kann ich Probleme in der Zukunft forsee, ob neue Verzeichnisse erstellt werden. Gibt es einen Weg zu überprüfen, ob der in_file_name
ein Verzeichnis ist, anstatt die Namen hart zu codieren?
Eine Möglichkeit, die ich mir vorstellen kann, ist UTIL_OS.run_cmd('echo */')
ausführen, um eine Liste von Verzeichnissen zu erhalten. Aber ich bin nicht sicher, wie man die Ausgabe erhält und es in dieser IF
Aussage verwendet.
Danke!
Sind die Dateien/Verzeichnisse, die Sie unter einem OS-Verzeichnis sind überprüft, die als Oracle-Directory-Objekt existiert? –
@AlexPoole ja. – user3224907