Мне нужно импортировать CSV файл в Firebird, и я потратил пару часов, пробуя некоторые инструменты, и ни один из них не соответствовал моим потребностям.
Основная проблема заключается в том, что все инструменты, которые я пробовал, такие как EMS Data Import и Firebird Data Wizard, ожидают, что мой CSV файл содержит всю информацию, необходимую для моей таблицы.
Мне нужно написать некоторый пользовательский SQL в операторе вставки, например, у меня есть CSV файл с названием города, но, поскольку в моей базе данных уже есть все города в другой таблице (нормализовано), мне нужно написать вложенный выбор во вставке оператор для поиска города и записи его ID, также у меня есть хранимая процедура для создания GUIDS.
Мое выражение вставки будет примерно таким:
INSERT INTO PERSON (ID, NAME, CITY_ID) VALUES((SELECT NEW_GUID FROM CREATE_GUID), :NAME, (SELECT CITY_ID FROM CITY WHERE NAME = :CITY_NAME)
Как я могу подойти к этому?