estoy usando SQL Server 2005.insertar datos de una tabla a varias tablas
estoy migrando datos a través de una base de datos actual (tabla individual) a una nueva base de datos (normalizados - muchas mesas). En la nueva base de datos, tengo una tabla base (llamémosla "BaseTable") y varias otras tablas (llamémoslas "DependentA"
y "DependentB"
). Algunos de los datos de la base de datos anterior irán a BaseTable, y algunos irán a los otros dos. BaseTable tiene una relación de uno a uno con DependentA y DependentB, utilizando Id de ellos como la clave externa.
Así que esta es mi pregunta. ¿Cómo debo migrar los datos? Aquí hay una consulta que he estado intentando, que funciona, excepto por una cosa: las claves foráneas en BaseTable para las otras dos son idénticas, en cambio, o tienen una diferente cada una.
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
¿Alguna de las columnas en las tablas dependientes encierran valores únicos que podían ser buscado? (es decir, c1 y c3) – CAbbott
Hay una clave principal en esas tablas (DependentA y DependentB). – jchapa