我们的团队正在为某个组织开发一个新系统。
我们有一个Client
表:
Id (PK), int, not null
NoClient, int, not null
组织通常按其编号NoClient
引用客户。慢慢地,旧系统中的客户端将(手动)迁移到新系统。
NoClient
应该是自动递增(对于新系统的新客户端功能),同时允许手动输入(对于现有客户端),以后不会导致冲突。
从可视化角度看,从自动增量列的角度来看:
..., 9998, 9999, (used), 10001, 10002
有关如何利用SQL Server 2005(或实体框架)解决该问题的任何想法?
可能必须创建种子表并使用存储过程(嵌入逻辑),除非有更好的方法来执行此操作...
答案 0 :(得分:0)
答案 1 :(得分:0)
你的问题不是很清楚。
激活bool列。使用false列加载所有现有的。然后在迁移客户时将其打开。
至于寻找漏洞。
select min(tb1.PK) + 1
from table tb1
left outer join table tb2
on tb2.pk = tb1.pk + 1
where tb2.pk is null