Файл импорта SQL для обновления значений таблицы - PullRequest
1 голос
/ 18 февраля 2011

Как импортировать CSV-файл в базу данных SQLite или Postgresql, чтобы он обновлял значения уже в таблице и, конечно, также вставлял новые.

Спасибо ...

PD: я люблю это сообщество.Быстрые Точные ответы.

1 Ответ

4 голосов
/ 18 февраля 2011

Я недостаточно знаком с sqlite, чтобы знать, доступны ли такие же конструкции, но вы также спрашивали о Postgres. Итак ... с Postgres я бы использовал команду COPY FROM для импорта данных в промежуточную таблицу. Тогда я бы запустил следующий SQL:

UPDATE destination d
SET [whatever you are updating]
FROM staging s
WHERE d.id = s.id

INSERT INTO destination
SELECT * FROM staging s
WHERE s.id NOT IN (
  SELECT id FROM destination
)
...