我有一个适用于几个SQL表的小进程。这些表最初是Guid的主键,但为了提高效率,我们将它们更新为BigInt标识。
我有一个批量插入,在主键表中添加一个项目,然后在外键表中添加几个项目。使用Guids,这很容易,因为我在代码中创建了Guid并将其传递给参数。
我很好奇标识列的最佳方法是什么?我知道我能做到:
declare @id int
insert into PrimaryKeyTable (...) Values (...)
select @id = Scope_Identity()
并取回主键。
将批处理拆分为两个是最好的方法,并将参数传回外键插入的代码中吗?或者有没有办法在一个SQL语句中执行所有插入操作?是否有关于此事的一般公众舆论或最佳做法?谢谢你的任何指导。