sql-server - SQL Server 插入标识列表

标签 sql-server sql-server-2005 insert

我有一个带有自动增量 id 的表,我正在执行该操作

INSERT INTO ( ... ) SELECT ... FROM ...

有没有办法获取已插入的 id 列表?

我想我可以在插入之前获得最大ID,然后在插入之后获得最大ID,并假设中间的所有内容都是新的,但是如果从其他地方插入一行,我可能会遇到问题。有没有正确的方法来做到这一点?

我使用的是 SQL Server 2005

最佳答案

使用output条款。

DECLARE @InsertedIDs table(ID int);

INSERT INTO YourTable
    OUTPUT INSERTED.ID
        INTO @InsertedIDs 
    SELECT ...

关于sql-server - SQL Server 插入标识列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4619343/

相关文章:

visual-studio-2010 - SSRS:VS2010中的“索引超出范围”,但部署报表时则没有

java - 练习使用二进制搜索将数据插入数组,问题很少

intellij-idea - Intellij 以插入键开始

mysql - SQL 左连接插入不起作用

sql-server - 上次修改日期对象

c# - 从数据库配置中的连接字符串中删除 SSIS 密码

sql-server-2005 - ORDER BY 与 Case-Statement DESC

sql-server - 我可以稍后在同一 View 中使用在 SQL Server View 中计算的列吗?

sql-server - 除非还指定了 TOP 或 FOR XML,否则 ORDER BY 子句无效

sql - 替换字符串中的字符而不影响名称