Używam SQL Server 2005.wstawić dane z jednej tabeli do wielu tabelach
Jestem migracji danych w bieżącej bazie danych z jednej tabeli() do nowej bazy danych (znormalizowane - wiele tabelach). W nowej bazie danych mam tabelę podstawową (nazwijmy ją "BaseTable") i wiele innych tabel (nazwijmy je: "DependentA"
i "DependentB"
). Niektóre dane ze starej bazy danych trafią do BaseTable, a niektóre trafią do pozostałych dwóch. BaseTable ma relację jeden-do-jednego z DependentA i DependentB, używając Id jako klucza obcego.
Oto moje pytanie. Jak mam przeprowadzić migrację danych? Oto zapytanie, które próbowałem, które działa z jednym wyjątkiem: klucze obce w tabeli BaseTable dla pozostałych dwóch są identyczne, zamiast tego lub mające inną.
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
Wykonaj jedną z kolumn w tabelach zależnych posiadają unikalne wartości, które mogłyby być sprawdzonym? (tj. c1 i c3) – CAbbott
W tych tabelach znajduje się klucz podstawowy (DependentA i DependentB). – jchapa