Всем хорошего дня!
Как можно вставляя строку в таблицу одновременно получить id записи для использования его в соседней колонке?
Например,
CREATE TABLE [dbo].[Product]([Id] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](50) NOT NULL)
insert into dbo.Product (Name) values ('Новый продукт_')
при этом select этой записи должен вернуть "Новый продукт_123" - где 123 есть id записи.
Важно, что не через сцепление или как то еще, а именно в поле Name должно прилепляться id в конце названия.
Мне удалось собрать такое решение:
insert into dbo.Product (Name) values ('Новый продукт_' + cast(IDENT_CURRENT('dbo.Product') as varchar(5)))
Получается именно то, что нужно, но есть проблема - если одновременно вставлять записи, то IDENT_CURRENT вернет именно последний id, а не текущий для данной строки.
Как получить текущий?
P.S. Понимаю что можно взять из inserted и после обновить, или другими путями, которые влекут за собой последующий update, но ищу именно решение в рамках одного insert.