0

我们的团队正在为某个组织开发一个新系统。我们有一张Client桌子:

Id (PK), int, not null
NoClient, int, not null

该组织通常通过其编号来指代客户NoClient。慢慢地,旧系统的客户端将(手动)迁移到新系统。

NoClient应该是自动增量(对于新客户端|新系统的功能),同时允许手动输入(对于现有客户端)并且以后不会导致冲突。

在视觉上,从自增列的角度来看:

..., 9998, 9999, (used), 10001, 10002

关于如何利用 SQL Server 2005(或实体框架)解决该问题的任何想法?

除非有更好的方法来做到这一点,否则可能必须创建一个种子表并使用存储过程(嵌入逻辑)......

4

2 回答 2

0

Your question was not very clear.

Have a bool column active. Load all existing with the column false. Then just turn it on when the customer is migrated.

As for finding holes.

select min(tb1.PK) + 1 
from table tb1 
left outer join table tb2 
on tb2.pk = tb1.pk + 1 
where tb2.pk is null 
于 2013-05-30T21:14:30.507 回答
0

你可以试试SET IDENTITY_INSERT ON

于 2013-05-30T19:20:53.640 回答