Получить последний вставленный идентификатор - PullRequest
4 голосов
/ 18 января 2012

Есть ли способ получить последний вставленный идентификатор, если я использую SQL Server CE?У меня есть 2 таблицы, и когда создается новая запись, я хочу иметь возможность сохранить идентификатор во второй таблице.

Ответы [ 5 ]

14 голосов
/ 18 января 2012
SELECT @@IDENTITY

извлечет последнее автоматически сгенерированное значение идентификатора в SQL Server.

5 голосов
/ 18 января 2012

Надеюсь, этот пример вам поможет.

INSERT INTO jobs (job_desc,min_level,max_level) VALUES ('A new job', 25, 100);

SELECT job_id FROM jobs WHERE job_id = @@IDENTITY;
2 голосов
/ 18 января 2012

Предполагая, что более высокие значения id всегда новее, как насчет:

SELECT TOP 1 id FROM your_table ORDER BY id DESC

или

SELECT MAX(id) FROM your_table
1 голос
/ 18 января 2012

используйте этот запрос:

INSERT INTO Persons (FirstName) VALUES ('Joe');
SELECT ID AS LastID FROM Persons WHERE ID = @@Identity;

или вы можете просмотреть эту ссылку для получения дополнительной информации: http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/

0 голосов
/ 31 июля 2012

Это работало нормально для меня

SELECT TOP (1) your_id FROM your_table ORDER BY your_id DESC
...