访问 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中文网其他相关文章!