Опитвам се да върна стойността на ключа след заявка 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()
Можете да използвате функцията 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