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

时间:2013-05-20 16:59:33

标签: c# asp.net sql sql-server

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

1 个答案:

答案 0 :(得分:10)

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

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

此外,this question有关于不同类型的身份选择的更多信息,您应该查看它。

修改

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

var command = new SqlCommand("...");
Guid id = (Guid) command.ExecuteScalar();