我正在使用 SQL Server 2005。
我正在将数据从当前数据库(单个表)迁移到新数据库(规范化 - 许多表)。在新数据库中,我有一个基表(我们称其为“BaseTable”)和多个其他表(我们称它们"DependentA"
为 和"DependentB"
)。旧数据库中的一些数据会去BaseTable,一些会去另外两个。BaseTable 与 DependentA 和 DependentB 都是一对一的关系,使用它们的 Id 作为外键。
所以这是我的问题。我应该如何迁移数据?这是我一直在尝试的一个查询,除了一件事之外,它正在工作:BaseTable 中其他两个的外键是相同的,或者每个都有不同的。
Begin SQL:
BEGIN TRANSACTION
DECLARE @dep1Id int
DECLARE @dep2Id int
INSERT INTO DependentA (column1, column2)
SELECT c1, c2
FROM OldDatabase.OldTable
SELECT @dep1Id = Scope_Identity()
INSERT INTO DependentB (column3, column4)
SELECT c3, c4
FROM OldDatabase.OldTable
SELECT @dep2Id = Scope_Identity()
INSERT INTO BaseTable (column5, dependentTable1Id, dependentTablr2Id)
SELECT c5, @dep1Id, @dep2Id
FROM OldDatabase.OldTable
COMMIT