【发布时间】:2019-10-08 19:49:59
【问题描述】:
我正在寻找我遇到的问题的最佳解决方案。
我有几个数据库,我经常对齐它们以在其中包含相同的数据。在一些参考表中有自动增量 ID 列,而在其他表中有与这些 ID 值匹配的列。不幸的是,在更改后的源数据库 ID 上可能是:(10,15,20),而在将其插入目标表后,它是 (1,2,3)。我希望我的模型能澄清情况:
源数据库参考表:
ID_________Name
10_________a
15_________b
20_________c
目标数据库参考表:
ID_________Name
1__________a
2__________b
3__________c
来源事实表:
RefTableID___OtherColumns
10__________a
10__________b
15__________c
15__________d
问题是在将 FactTable 迁移到目标数据库后,它与 RefTable 中的记录不匹配。我有一个想法,添加另一个与 ID 列相比可编辑的列。问题是最终用户不应该看到它(这对他来说没有任何意义),所以它也应该是自动增量的。在这种情况下我应该使用什么:
- 序列?
- -触发?
- -发布添加/保存存储过程?
或者也许有人对如何解决这个问题有更好的想法?
【问题讨论】:
-
为什么在目标数据库上使用自增?数据库也是从其他来源更新的?
-
是的。一般来说,只有一个数据库是开发用的,一个是给终端用户的,所以以后只有第二个会很重要
-
尝试打开 identity_insert 并在更新后重新关闭。
标签: sql sql-server database-migration auto-increment identity-column