gpt4 book ai didi

c# - SQL 查询后存储主键

转载 作者:行者123 更新时间:2023-11-30 14:12:51 25 4
gpt4 key购买 nike

以下情况:

我有一个 ASP.NET 网站,用于在 ESX 环境中创建虚拟机。用户可以选择一些设置并单击按钮来创建 VM。

此按钮的单击事件检查值并将其写入 MS SQL Server。该表有一个 primary key (Integer, IDENTITY) 我不需要插入(因为 IDENTITY)。

但我需要这个主键,因为我在事件发生后将用户重定向到另一个页面,而这个页面需要主键用于常规查询(使用查询字符串发送)。

目前,我在 INSERT INTO 查询之后直接进行 SELECT 查询并获取最后一个条目。只要只有一个用户使用此页面,它就可以工作。

我的问题是:

是否可以直接从 INSERT INTO 查询中接收 IDENTITY 主键(就像函数的返回值)?

最佳答案

是的。

使用 OUTPUT子句

来自 MSDN 链接的示例:

The following example inserts a row into the ScrapReason table and uses the OUTPUT clause to return the results of the statement to the @MyTableVar table variable. Because the ScrapReasonID column is defined with an IDENTITY property, a value is not specified in the INSERT statement for that column.

USE AdventureWorks2008R2;
GO
DECLARE @MyTableVar table( NewScrapReasonID smallint,
Name varchar(50),
ModifiedDate datetime);
INSERT Production.ScrapReason
OUTPUT INSERTED.ScrapReasonID, INSERTED.Name, INSERTED.ModifiedDate
INTO @MyTableVar
VALUES (N'Operator error', GETDATE());

--Display the result set of the table variable.
SELECT NewScrapReasonID, Name, ModifiedDate FROM @MyTableVar;
--Display the result set of the table.
SELECT ScrapReasonID, Name, ModifiedDate
FROM Production.ScrapReason;
GO

(假设您使用的是 SQL Server)

-==========================

关于c# - SQL 查询后存储主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com