Подтвердить что ты не робот

Список идентификаторов вставки SQL Server

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

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

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

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

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

4b9b3361

Ответ 1

Используйте вывод.

DECLARE @InsertedIDs table(ID int);

INSERT INTO YourTable
    OUTPUT INSERTED.ID
        INTO @InsertedIDs 
    SELECT ...

Ответ 2

Создайте переменную table, а затем используйте предложение OUTPUT в переменной table.

OUTPUT inserted.NameOfYourColumnId INTO tableVariable

Затем вы можете SELECT из вашей переменной table.