sql-server - 在表之间移动数据并生成旧标识值到新标识值的映射的最佳方法

标签 sql-server sql-server-2005 identity-column

我需要将两个表中的数据合并到第三个表中(所有表都具有相同的架构),并生成旧身份值到新身份值的映射。显而易见的方法是使用游标循环遍历源表,并沿途插入旧的和新的标识值。有没有更好的(可能是面向集合的)方法来做到这一点?

更新:额外的一点信息:目标表已经有数据。

最佳答案

使用新 ID 的 IDENTITY 列创建映射表。从源表插入此表,创建映射。

针对目标表SET IDENTITY_INSERT ON

从连接到映射表的源表插入目标表,然后SET IDENTITY_INSERT OFF

关于sql-server - 在表之间移动数据并生成旧标识值到新标识值的映射的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971830/

相关文章:

sql-server - SQL Server 2005 中 varbinary 到文字 varchar 的复制

sql-server - 将当前表列更新为标识列

sql-server - 无法从Access导入数据到MS SQL Server

SQL选择步骤

sql-server - T-SQL (Azure),如何查看多个值是否在一个集合中

sql - .sql 文件的存储过程

sql-server - SQL Server 中的超大表

oracle - 使用现有存储过程通过 Entity Framework 为 Oracle 数据库生成身份

sql-server - SQL Server - 即使在回滚的情况下如何确保身份字段正确递增

sql-server - Azure SQL DB - 资源治理