如果我使用SQL Server CE,有没有办法获取最后插入的ID? 我有2个表,当创建新记录时,我想能够在第二个表中保存ID。
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;
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/
id
值总是较新的,那么怎么样呢:SELECT TOP 1 id FROM your_table ORDER BY id DESC
或者:
SELECT MAX(id) FROM your_table
这对我来说很好用
SELECT TOP (1) your_id FROM your_table ORDER BY your_id DESC
SELECT MAX(id)
在另一条记录被插入之前执行。我会选择@@Identity
,因为 SQL CE 不支持SCOPE_IDENTITY()
。 - Joel C