Вы можете поместить предложение OUTPUT в инструкцию INSERT, чтобы вернуть вставленные значения. Для тестовой таблицы ...
CREATE TABLE #party (
guest_id int identity primary key,
guest_name nvarchar(50) not null,
beverage nvarchar(50) default N'water'
);
... если вы просто вставите один обязательный столбец, вы получите набор результатов, в котором указаны идентификаторы и значения по умолчанию, которые были вставлены ...
1> INSERT INTO #party (guest_name)
2> OUTPUT INSERTED.guest_id, INSERTED.guest_name, INSERTED.beverage
3> VALUES (N'Edith');
4> go
guest_id guest_name beverage
----------- ---------- --------
1 Edith water
(1 rows affected)
... но если вы вставите значения в некоторые другие (необязательные) столбцы, они тоже будут возвращены
1> INSERT INTO #party (guest_name, beverage)
2> OUTPUT INSERTED.guest_id, INSERTED.guest_name, INSERTED.beverage
3> VALUES (N'Gord', N'bourbon');
4> go
guest_id guest_name beverage
----------- ---------- --------
2 Gord bourbon
(1 rows affected)