Есть ли способ получить последний вставленный идентификатор, если я использую SQL Server CE?У меня есть 2 таблицы, и когда создается новая запись, я хочу иметь возможность сохранить идентификатор во второй таблице.
SELECT @@IDENTITY
извлечет последнее автоматически сгенерированное значение идентификатора в SQL Server.
Надеюсь, этот пример вам поможет.
INSERT INTO jobs (job_desc,min_level,max_level) VALUES ('A new job', 25, 100); SELECT job_id FROM jobs WHERE job_id = @@IDENTITY;
Предполагая, что более высокие значения id всегда новее, как насчет:
id
SELECT TOP 1 id FROM your_table ORDER BY id DESC
или
SELECT MAX(id) FROM your_table
используйте этот запрос:
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/
Это работало нормально для меня
SELECT TOP (1) your_id FROM your_table ORDER BY your_id DESC