SQL Server - Връщане на стойност след INSERT
Опитвам се да върна стойността на ключа след заявка INSERT. Пример: Имам таблица с атрибутите name и id. id е генерирана стойност.
INSERT INTO table (name) VALUES('bob');
Сега искам да върна id в същата стъпка. Как се прави това?
Използваме Microsoft SQL Server 2008.
278
3
Използвайте
SCOPE_IDENTITY()
, за да получите новата стойност на IDhttp://msdn.microsoft.com/en-us/library/ms190315.aspx
Можете да използвате функцията
scope_identity()
, за да изберете идентификатора на току-що вмъкнатия ред в променлива, след което просто изберете каквито колони искате от тази таблица, където id = идентификатора, получен отscope_identity()
.Вижте тук информацията в MSDN http://msdn.microsoft.com/en-us/library/ms190315.aspx
След като извършите вмъкване в таблица с колона за идентичност, можете да се обърнете към @@IDENTITY, за да получите стойността: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx