C# 标识主键的SQL Guid,批处理查询
我有一个处理几个SQL表的小流程。这些表最初是Guid主键控的,但为了提高效率,我们将它们更新为BigInt标识 我有一个批插入,它在主键表中添加一个项,然后在外键表中添加几个项。使用Guid,这很容易,因为我会在代码中创建Guid并将其传递给参数 我很好奇,对于身份专栏来说,最好的方法是什么?我知道我能做到:C# 标识主键的SQL Guid,批处理查询,c#,sql,primary-key,guid,identity-column,C#,Sql,Primary Key,Guid,Identity Column,我有一个处理几个SQL表的小流程。这些表最初是Guid主键控的,但为了提高效率,我们将它们更新为BigInt标识 我有一个批插入,它在主键表中添加一个项,然后在外键表中添加几个项。使用Guid,这很容易,因为我会在代码中创建Guid并将其传递给参数 我很好奇,对于身份专栏来说,最好的方法是什么?我知道我能做到: declare @id int insert into PrimaryKeyTable (...) Values (...) select @id = Scope_Identity()
declare @id int
insert into PrimaryKeyTable (...) Values (...)
select @id = Scope_Identity()
然后拿回主键
将批拆分为两个并将参数传递回外键插入代码中的最佳方法是什么?或者有没有一种方法可以在一条SQL语句中执行所有插入操作?是否有公众对此事的普遍意见,或最佳做法?感谢您的指导。您需要使用
这允许您执行批插入,它将吐出批标识ID以及您显式设置为输出的任何其他内容
INSERT...
OUTPUT INSERTED.ID