После загрузки данных из CSV в существующую таблицу Postgres у меня будут дубликаты записей, которые необходимо объединить.Для этого я планирую использовать хранимую процедуру, которая выполняет следующие действия:
current_record airports%ROWTPE;
new_record airports%ROWTYPE
FOR current_record in SELECT * from airports ORDER BY iko LOOP
SELECT * into (STRICT) new_record from airports where iko=current_record.iko AND oid < current_record.oid
-- IS IT POSSIBLE TO enumerate over each field as follows?
FOR int i = 0; i < new_record.fields.count; i++ LOOP
IF new_record.field[i] IS NOT NULL THEN current_record.field[i] =
new_record.field[i]
END LOOP;
END LOOP;
Могу ли я перечислять по полям, используя внутренний цикл FOR, как показано выше, или мне придется жестко кодировать логику изменений для каждого поляв таблице?Есть около 70 столбцов.
Другие лучшие способы, как это сделать, также помогут.
TIA.