Я импортирую CSV-файл на SQL-сервер. Проблема в том, что мне нужно обновить, если строки найдены, но я не нашел эквивалент INSERT UPDATE или что-то похожее на это.SQL Server Bulk Insert Update из CSV?
Это мой текущий код:
BULK INSERT Actuals_Financials_Temp FROM '\\STRMV3302\Temp\Actuals_Financials_Temp.csv'
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', FIRSTROW = 2)
Есть ли способ, чтобы обновить строки, которые соответствующие ключи? Или, по крайней мере, игнорировать их, чтобы остальное было загружено, а затем сделать что-то вроде BULK UPDATE?
Вставить в временную таблицу из CSV, обновить, где существует, вставить, если она не существует? может быть грязным. –
Массовые вставки быстрые, потому что они обычно не записывают детали в журнал транзакций. Объемная загрузка в пустую таблицу может быть минимально зарегистрирована. Вместе с тем, слияние данных, вероятно, будет иметь довольно много действий в журнале транзакций, для обновлений существующих записей, индексов и т. Д. Эффективным рабочим процессом будет загрузка данных в пустую таблицу, добавление любых индексов необходимые для соответствия существующим данным, а затем выполнять вставки/обновления, необходимые для существующих данных. –