数据分布于不同的地点,用户可将数据提交到上级部门,上级部门也可将数据导出到下级部门.每个地点的主要数据由两个表组成,关系如下:项目表(Project)和项目成员表(People),People表的主键是PeopleID,用于标识唯一的一个成员,PeopleID的最成由一个地点编码和一个自增的数值组成(PeopleID的编号必须是程序自己完成,客户要求是这样),例如A地的地点编码就是A,而自增数值由另一个表(SEQ)来产生(SEQ只有一列,列名为NO),每添加一个成员就往SEQ添加一条记录,例如A地当前SEQ表NO的最大值是10,那么产生一个新的PeopleID就是"A11",同时往SEQ插入一行,数值是11.Project表和People表的关系是一对多.在正常情况下,无论是下级向上级提交还是从上级往下级导出都不会存在问题,但是在某些情况下可能会出现问题,假设A地数据库损坏了,需要从上级往下级导出数据,当在A地再添加项目成员时就会出现问题,因为SEQ表被清空了,所以再添加的PeopleID变成了A1,事实上现在People表已经存在PeopleID为A1的成员了,这时必然会出错,该如何解决这个问题啊???曾考虑过PeopleID由GUID来完成,但客户不肯,说太长了,不易检索,晕啊............
引用都用guid,报表关联到直观一点的id
坏了根据guid再生成一个id,跟之前不同也没关系