SQL Server - Връщане на стойност след INSERT

Опитвам се да върна стойността на ключа след заявка INSERT. Пример: Имам таблица с атрибутите name и id. id е генерирана стойност.

    INSERT INTO table (name) VALUES('bob');

Сега искам да върна id в същата стъпка. Как се прави това?

Използваме Microsoft SQL Server 2008.

Използвайте SCOPE_IDENTITY(), за да получите новата стойност на ID

INSERT INTO table (name) VALUES('bob');

SELECT SCOPE_IDENTITY()

http://msdn.microsoft.com/en-us/library/ms190315.aspx

Коментари (4)

Можете да използвате функцията scope_identity(), за да изберете идентификатора на току-що вмъкнатия ред в променлива, след което просто изберете каквито колони искате от тази таблица, където id = идентификатора, получен от scope_identity().

Вижте тук информацията в MSDN http://msdn.microsoft.com/en-us/library/ms190315.aspx

Коментари (0)

След като извършите вмъкване в таблица с колона за идентичност, можете да се обърнете към @@IDENTITY, за да получите стойността: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx

Коментари (2)