首页 >数据库 >mysql教程 >如何在使用 OUTPUT 子句的 INSERT 语句后检索标识值?

如何在使用 OUTPUT 子句的 INSERT 语句后检索标识值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-17 12:16:09575浏览

How Can I Retrieve Identity Values After an INSERT Statement Using the OUTPUT Clause?

使用 SQL 的 OUTPUT 子句高效检索新插入的行 ID

数据库操作经常需要检索同一查询中新插入行的 ID。 本文演示了如何使用强大的 OUTPUT 子句在 SQL 中完成此操作。

SQL 查询结构

OUTPUT 子句无缝集成到 INSERT 语句中:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.Id AS @var  --Retrieves the ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

显示ID

最简单的方法,直接在查询结果中显示新生成的ID:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

将 ID 存储在变量中

对于需要在 T-SQL 中进一步处理的更复杂场景,请使用表变量:

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT);

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl (ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

此方法将生成的 ID 存储在 @OutputTbl 中,以便在 T-SQL 代码中启用后续操作。 OUTPUT 子句提供了根据需要包含其他相关列数据的灵活性。

以上是如何在使用 OUTPUT 子句的 INSERT 语句后检索标识值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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