插入后如何获取新行的GUID值?

Spi*_*rls 4 c# sql sql-server asp.net

我想在Sqlserver中获取新插入记录的Id.我已经检查了Scope_Identity()但据说这会返回自动增量列的值.我用于Id的专栏是Guid.插入后我想要这个Guid列值.应该如何实现?或者我必须编写一个自定义繁琐的函数来获取新插入记录的Id.

Dim*_*rov 10

您可以尝试使用OUTPUT,它类似于:

INSERT INTO ExampleTable (<Column1>, <Column2>, <Column3>) 
OUTPUT INSERTED.ID
VALUES (<Value1>, <Value2>, <Value3>)
Run Code Online (Sandbox Code Playgroud)

此外,这个问题,有关不同类型的身份选择的更多信息,你应该检查出来.

编辑

您可以将其用作常规标量:

var command = new SqlCommand("...");
Guid id = (Guid) command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)

  • 您将如何读取 C# 中`OUTPUT INSERTED.ID` 中返回的这个值? (2认同)