У меня в таблице памяти (DataTable), я хочу обновить таблицу SQL с помощью DataTable за один раз (Массовое обновление). Я знаю, как массировать вставки данных из таблицы DataTable в SQL. Есть ли способ массового обновления?Обновление таблицы SQL-сервера с использованием Datatbale
0
A
ответ
0
EDITED: Неправильный исходный вопрос. Вот «массовое обновление»:
UPDATE <table> SET tbl.value = dt.value
FROM @Datatable dt
INNER JOIN <table> tbl ON tbl.<id_column> = dt.<id_column>
0
Вы можете использовать один из методов UpdateDataSet() блока данных MS Enterprise Library.
Они будут считывать строки (добавлять, обновлять, удалять) каждой строки и выполнять команду, названную в методе UpdateDataSet(). С разумным сервером базы данных это может обрабатывать несколько тысяч записей за несколько секунд.
Единственный недостаток, который я нашел с этим, заключается в том, что он не может вернуть вновь вставленные значения IDENTITY, но его достаточно легко выбрать из базы данных после того, как вставка завершилась и переназначить их в datatable.