begin transaction INSERT INTO dbo.Audit -- 并发时, transaction 中的 identity 不能保证连续 SELECT TypeName FROM @audit ORDER BY ID
declare @lastIdentity int = @@identity declare @offSet int = @lastIdentity - @rowCount
INSERT INTO dbo.AuditField SELECT AuditID+@offSet AS AuditID, Field1 -- auditid 是连续的, 会导致conflicted with the FOREIGN KEY FROM @auditField ORDER BY AuditID commit transaction
INSERT INTO dbo.Audit -- 并发时, transaction 中的 identity 不能保证连续
SELECT TypeName
FROM @audit
ORDER BY ID
declare @lastIdentity int = @@identity
declare @offSet int = @lastIdentity - @rowCount
INSERT INTO dbo.AuditField
SELECT AuditID+@offSet AS AuditID, Field1 -- auditid 是连续的, 会导致conflicted with the FOREIGN KEY
FROM @auditField
ORDER BY AuditID
commit transaction