Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Боблиотека для Bulk Insert: как это сделано?  [new]
Alexander Us
Member

Откуда:
Сообщений: 1093
Вот, наткнулся на (коммерческую) c# библиотеку для BULK операций,
которая умеет возвращать identity после bulk insert.
Как это может быть сделано?

Приходит в голову только bulk insert группы строк во временную таблицу, а уж из неё разом insert ... output... select ... в целевую таблицу.

Вот прмиер для той библиотеки: how to get Identity Value for each iteration bulk insert
А вот и она сама: bulk-operations.net

Мож. у кого есть другие идеи?
5 сен 18, 14:37    [21665745]     Ответить | Цитировать Сообщить модератору
 Re: Боблиотека для Bulk Insert: как это сделано?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36691
Ну так профайлером посмотрите.
5 сен 18, 15:06    [21665806]     Ответить | Цитировать Сообщить модератору
 Re: Боблиотека для Bulk Insert: как это сделано?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Alexander Us,

профайлер ближе покажет, но как вариант номеруют внутри и вставляют
5 сен 18, 15:11    [21665815]     Ответить | Цитировать Сообщить модератору
 Re: Боблиотека для Bulk Insert: как это сделано?  [new]
LogrusAS
Member

Откуда: Киев
Сообщений: 189
TaPaK,

Можно не разбирать, я уже разобрал. Именно так и делает. Вставка во временную таблицу и потом из нее в нужную. Причем она не временная с #, а вполне себе постоянная. Зато работает не только с MS SQL. Хотя с MS SQL можно кучей других методов сделать. Даже Bulk Update и Delete. В общем DAPPER хорошая библиотека, но плюс денег не стоит.
5 сен 18, 15:16    [21665825]     Ответить | Цитировать Сообщить модератору
 Re: Боблиотека для Bulk Insert: как это сделано?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
LogrusAS
TaPaK,

Можно не разбирать, я уже разобрал. Именно так и делает. Вставка во временную таблицу и потом из нее в нужную. Причем она не временная с #, а вполне себе постоянная. Зато работает не только с MS SQL. Хотя с MS SQL можно кучей других методов сделать. Даже Bulk Update и Delete. В общем DAPPER хорошая библиотека, но плюс денег не стоит.

и в чём радость всего этого...
5 сен 18, 15:20    [21665836]     Ответить | Цитировать Сообщить модератору
 Re: Боблиотека для Bulk Insert: как это сделано?  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4535
TaPaK
и в чём радость всего этого...

Чуть меньше тормозов на операциях для которых orm'ы не (т.е. плохо) предназначены (массовое обновление данных)
5 сен 18, 15:24    [21665845]     Ответить | Цитировать Сообщить модератору
 Re: Боблиотека для Bulk Insert: как это сделано?  [new]
Alexander Us
Member

Откуда:
Сообщений: 1093
всем спасибо
5 сен 18, 15:55    [21665905]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить