2015-12-10 2 views
1

Мы получаем таблицы Excel, которые нам нужны для обновления базы данных sql-сервера. Я могу легко прочитать таблицу в datatable, она может иметь тысячи строк. Таким образом, я могу иметь подобный datatable:Лучший способ обновить таблицу сервера sql из datatable

id data 
1  A 
2  B 

ect.

У меня есть таблица базы данных, как это:

id data (more columns) 
1  Y 
2  Z 

Там может быть больше, чем одно поле данных, он непредсказуем. Мне нужно изменить данные для id 1 в A.

У меня есть текстовое поле, где я могу набрать SQL ОБНОВЛЕНИЕ ДЕТАЛЕЙ SET data = {0} WHERE id = {1}, который будет делать все обновления.

Я могу изменить SQL в текстовом поле по мере необходимости. Я также могу назначить столбцы в datatable для заполнителей, {0} и {1} в этом примере.

Мне было интересно, могу ли я каким-то образом присоединиться к datatable с помощью SQL ИЛИ, если это может стоить, чтобы вставить весь datatable в таблицу temp, тогда выполните массовое обновление. Или я должен оставить его как есть и прокрутить данные.

ответ

1

Если я правильно вас понял, вы можете использовать инструкцию MERGE (https://msdn.microsoft.com/en-us/library/bb510625.aspx). Создайте DataTable и заполните его данными из таблицы Excel. Затем передайте эти данные в качестве параметра (созданной ранее) пользовательской переменной табличного типа для процедуры sql, которая использует операцию слияния для обновления данных. Это очень быстро!

Смежные вопросы