我需要将两个表中的数据合并到第三个表中(所有表都具有相同的架构),并生成旧身份值到新身份值的映射。显而易见的方法是使用游标循环遍历源表,并沿途插入旧的和新的标识值。有没有更好的(可能是面向集合的)方法来做到这一点?
更新:额外的一点信息:目标表已经有数据。
最佳答案
使用新 ID 的 IDENTITY 列创建映射表。从源表插入此表,创建映射。
针对目标表SET IDENTITY_INSERT ON
。
从连接到映射表的源表插入目标表,然后SET IDENTITY_INSERT OFF
。
关于sql-server - 在表之间移动数据并生成旧标识值到新标识值的映射的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971830/