具有同步IDENTITY列的SQL多个表

时间:2010-12-02 19:05:50

标签: sql sync identity-column

我正在“清理”数据库,需要同步IDENTITY列。我正在使用存储过程来处理数据并将其从一个表镜像到下一个表(在清理它并更正数据类型之后)。在将来的某个时候,我将要切断旧表并仅使用新表,我的问题是如何使IDENTITY字段在它们都在使用时保持同步...一旦旧表被删除新的将需要继续自动递增和重建/更改它以更改IDENTITY字段不是一个选项。这有可能还是有更好的方法来解决这个问题?

我的另一个想法是创建一个查找表来存储两个表的ID列,并且只要新表中有插入,就会获取旧ID和新ID并将它们插入查找表中。一旦旧桌子不合适,这就太乱了。

2 个答案:

答案 0 :(得分:3)

去过那里,做到了。将旧ID作为FK放在新表中。在放弃旧表之前删除该列。

答案 1 :(得分:1)

  1. 将新表的标识设置为非标识字段。
  2. 修改您的数据填充程序,以使用旧表的标识值填充新表上的非标识字段。
  3. 在转换时,将新字段切换为自动递增,并相应地set the seed number