В настоящее время я разрабатываю программу на C#, которая берет гигантский лист excel (~ 14,300 строк, 90 столбцов) и его необходимо вставить в базу данных (SQL Server 2014). Пользователь может осуществлять поиск через БД для разных продуктов и в конечном итоге составлять котировку для клиента.sql заявление о слиянии для многих столбцов
Чтобы вставить, я успешно использую SQLBulkcopy для вставки строк excel в промежуточную таблицу. Проблема в том, что я хочу использовать оператор слияния, чтобы объединить мою промежуточную таблицу и реальную таблицу, так как, возможно, несколько загрузок одного и того же файла с очень небольшими изменениями с течением времени. Все SQL объединить примеры, я нахожу выглядеть примерно так:
MERGE INTO maintable as Target
USING stagingtable as Source
ON Target.columnA = Source.columnA
WHEN MATCHED THEN
UPDATE SET Target.Name = Source.Name
WHEN NOT MATCHED THEN
INSERT (columnA, Name)
VALUES (Source.columnA, source.Name)
заявление будет работать, но проблема в том, мой файл Excel имеет 90 столбцов. Есть ли способ обновить всю строку за раз или мне нужно обновить каждый из 90 столбцов строки?
Возможно, вы должны задать другой вопрос для своих p.s., я думаю, вам было бы лучше получить ответы. Вы можете ссылаться на этот вопрос, так что вам не нужно вводить описание заново – reggaeguitar
yeh i реализовано после публикации. Мой первый пост, обычно просто люркер. –
Вы можете обновлять/вставлять столько столбцов, сколько хотите, вы можете отвечать только на 2 условия, но помните, что целью является «существует ли эта запись? Если да, обновите, если нет вставки», вы не пытаетесь определить, строка, которая уже существует, изменилась. –