在 SQL Server INSERT 操作后检索自动生成的 ID
向 SQL Server 表添加新数据通常涉及自动生成的标识列。 本指南演示如何在 INSERT 语句后有效检索新生成的 ID。 SQL Server 的 OUTPUT
子句提供了一个干净的解决方案。
OUTPUT
子句解决方案
OUTPUT
子句允许您指定要返回的新插入行中的列。这非常适合捕获自动生成的 ID。
语法:
<code class="language-sql">INSERT INTO YourTable (column1, column2, ...) OUTPUT Inserted.IDColumn -- Replace IDColumn with your actual ID column name VALUES (value1, value2, ...);</code>
说明:
Inserted
:包含新插入行的临时表。 它反映了目标表的结构。IDColumn
:自动生成的身份列的名称。 将此占位符替换为您的列的实际名称。示例:
假设您有一个 Customers
表:
<code class="language-sql">CREATE TABLE Customers ( CustomerID INT IDENTITY(1, 1) PRIMARY KEY, CustomerName VARCHAR(255) NOT NULL );</code>
要插入新客户并获取 CustomerID
,请使用:
<code class="language-sql">INSERT INTO Customers (CustomerName) OUTPUT Inserted.CustomerID VALUES ('Acme Corp');</code>
这将返回新生成的CustomerID
。然后,您可以在进一步的查询中使用该值或将其存储在变量中。
重要提示: OUTPUT
子句不限于单个列。您可以通过在 OUTPUT
子句中列出以逗号分隔的列来从插入的行中检索多列。
以上是如何在 SQL Server 中检索 INSERT 后自动生成的 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!