如何插入表并取回主键值?

2021-09-10 00:00:00 sql tsql sql-server

我有一个主键设置为自动递增.

I have a primary key set up to auto increment.

我正在执行多个查询,我需要检索该主键值以用作另一个表中的外键 (IsIdentity = TRUE).

I am doing multiple queries and I need to retrieve that primary key value to use as a foreign key in another table (IsIdentity = TRUE).

当我执行插入查询时,有没有什么优雅的方法来取回主键值?现在我正在重新查询并获得该列中的最高值,这似乎非常糟糕.

Is there any elegant way to get back the primary key value when I do an insert query? Right now I am requerying and getting the highest value in that column which seems really hacky.

有什么建议吗?

推荐答案

insert into YourTable values (...)

使用 scope_identity() 获取新的 PK

get the new PK with scope_identity()

select scope_identity()

相关文章