переменная.

я есть таблица с идентификатором автоинкремента, который я делаю

INSERT INTO ( ... ) SELECT ... FROM ...

Есть ли способ для меня, чтобы получить список идентификаторов, которые были вставлены?

Я думал, что смогу получить максимальный идентификатор до вставки, затем после и предполагая, что все между ними новое, но потом, если строка вставляется откуда-то еще, я могу столкнуться с проблемами. Есть ли правильный способ сделать это?

Я использую SQL Server 2005

Ответы на вопрос(2)

table переменная, а затем использоватьOUTPUT пункт вtable переменная.

OUTPUT inserted.NameOfYourColumnId INTO tableVariable

Тогда ты можешьSELECT от твоегоtable переменная.

Решение Вопроса

Использоватьвыход пункт.

DECLARE @InsertedIDs table(ID int);

INSERT INTO YourTable
    OUTPUT INSERTED.ID
        INTO @InsertedIDs 
    SELECT ...
 Icerman26 мар. 2012 г., 07:17
Большой! Хотите знать, если есть способы вернуть этот @InsertedIDs в C #?
 Alex04 окт. 2013 г., 21:28
удивительно!!! это спасло меня от объявления курсора!

Ваш ответ на вопрос