Я не знаю, вписывается ли это в ваш конвейер данных, но один из подходов здесь состоит в том, чтобы записать эти новые имена входящих файлов в какую-то таблицу (временную или постоянную), а затем использовать простой существующий запрос дляпроверьте, присутствуют ли они в вашей текущей таблице, например,
SELECT filename AS new_file
FROM temp_names t1
WHERE NOT EXISTS (SELECT 1 FROM FILEINFO t2 WHERE t2.filename = t1.filename);
Если вы хотите вставить только новые имена файлов, вы можете использовать аналогичную логику, например,
INSERT INTO FILEINFO (filename)
SELECT filename
FROM temp_names t1
WHERE NOT EXISTS (SELECT 1 FROM FILEINFO t2 WHERE t2.filename = t1.filename);