首页 >数据库 >mysql教程 >如何在 SQL Server 中检索自动生成的键?

如何在 SQL Server 中检索自动生成的键?

Susan Sarandon
Susan Sarandon原创
2025-01-17 13:26:13986浏览

How to Retrieve Automatically Generated Keys in SQL Server?

访问 SQL Server 中自动生成的密钥

使用包含自动生成 ID 列的 SQL Server 表时,有效检索新生成的值至关重要。 本指南演示了一种使用 SQL Server 内置功能的简单有效的方法。

解决方案:

INSERT ... OUTPUT 语句提供了一种在单个操作中插入行并同时捕获生成的键的简洁方法。 其工作原理如下:

<code class="language-sql">INSERT INTO table (name)
OUTPUT Inserted.ID
VALUES ('bob');</code>

在此示例中,table 表示表中的 ID 列配置为标识列或使用支持自动值生成的数据类型(如 GUID)。 OUTPUT 子句将新插入的行的列(包括生成的 ID)定向到临时结果集。

Inserted 别名提供对此临时结果集的访问,允许使用 ID 检索 Inserted.ID

实际应用:

要将生成的 ID 存储在变量中,请使用以下命令:

<code class="language-sql">DECLARE @id INT;
INSERT INTO table (name)
OUTPUT @id = Inserted.ID
VALUES ('bob');
SELECT @id;</code>

这种方法不仅限于身份列;它还可以与其他自动生成的列一起使用,例如 GUID。 例如:

<code class="language-sql">INSERT INTO table (guid)
OUTPUT Inserted.guid
VALUES (NEWID());</code>

这将插入带有 GUID 列的行并立即检索生成的 GUID 值。

以上是如何在 SQL Server 中检索自动生成的键?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn