использовать в запросе id, которая является первичным ключом IDENTITY другой записи, которая будет создана MS SQL

Необходимо написать SQL запрос (создание сущности=>взять id этой сущности=>использовать этот id в другом запросе.)

Возникла проблема с частью запроса взять id созданной сущности. Вроде, мне необходимо использовать DECLARE, но как в нее положить поле Id из сущности, которую я создал.

DECLARE @Document_Id AS INT
SET @Document_Id = ????? (не знаю как вставить)
INSERT INTO DocumentsBook(Entity, Entity2, Entity3, Entity4)
VALUES ('datetime','1','1','11')

Т.Е как мне положить в @Document_Id DocumentId из вставленной записи, если она первичный ключ и я не могу знать, под каким номером она создастся


Ответы (1 шт):

Автор решения: Konst

При условии, что поле DocumentId является IDENTITY:

DECLARE @Document_Id AS INT;
Declare @t table (id int);

INSERT INTO DocumentsBook(Entity, Entity2, Entity3, Entity4)
OUTPUT inserted.DocumentId INTO @t(id)
VALUES ('datetime','1','1','11')

SET @Document_Id = (SELECT id FROM @t);
→ Ссылка