Ответ 1
Вы можете использовать предложение output.
Что-то вроде этого, если ваш столбец идентификации с именем `IdentityCol 'вернет вам идентификатор в качестве результирующего набора.
INSERT california_authors (au_id, au_lname, au_fname)
OUTPUT inserted.IdentityCol
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'
Вы можете вставить идентификатор в таблицу с помощью output ... into
.
Вот пример, который хранит идентификатор в переменной таблицы.
declare @IDs table (id int)
INSERT california_authors (au_id, au_lname, au_fname)
OUTPUT inserted.IdentityCol INTO @IDs
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'