5

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

4

1 回答 1

12

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

INSERT INTO ExampleTable (<Column1>, <Column2>, <Column3>) 
OUTPUT INSERTED.ID
VALUES (<Value1>, <Value2>, <Value3>)

另外,这个问题有更多关于不同类型的身份选择的信息,你应该检查一下。

编辑

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

var command = new SqlCommand("...");
Guid id = (Guid) command.ExecuteScalar();
于 2013-05-20T17:16:30.993 回答