我正在try 在INSERT语句之后返回键值.

    INSERT INTO table (name) VALUES('bob');

现在我想在同一步中获取id.这是怎么做到的?

我们正在使用Microsoft SQL Server 2008.

推荐答案

不需要单独 Select ...

INSERT INTO table (name)
OUTPUT Inserted.ID
VALUES('bob');

这也适用于非标识列(如guid)

Sql相关问答推荐

对于表A中的每一行,更新表B中与金额有关的行

基于多个字段删除Access中的重复记录,同时保留最低优先级

如何使用ROW_NUM() Select 一个没有第二条记录的实例?

Lag()函数的差异:R与SQL(将R代码转换为SQL)

SQL -滞后于上一个非重复值

如何在postgres函数中插入后返回布尔值?

HAVING子句内部过滤的正确方法

以一致的价值获得独特的价值

比较SQL中以逗号分隔的字符串

PostgreSQL中递归CTE查询的故障过滤

Postgresql 具有相似行为和模式行为的问题

在presto sql中解析带有区域的时间格式

将一名成员金额分配给群组内的其他成员

验证某个日期前后的连续代码

如何优化仅返回符合条件的三条记录的查询?

如何显示最常引用条目的详细信息

如何将特定值从 JSON 列中的一个字段移动到 PostgreSQL 中的另一个字段?

PostgreSQL:通过数组的元素从另一个表中 Select 数据,然后按顺序显示

过滤具有一对多关系的两个表之间的数据

在 postgresql 中,我可以将其组合成一个查询吗?