sto usando SQL Server 2005.inserire i dati da una tabella in più tabelle
sto migrando i dati nel corso di un database corrente (tabella singola) per un nuovo database (normalizzate - molti tavoli). Nel nuovo database, ho una tabella di base (chiamiamola "BaseTable") e più altre tabelle (chiamiamole "DependentA"
e "DependentB"
). Alcuni dati dal vecchio database andranno a BaseTable e altri andranno agli altri due. BaseTable ha una relazione uno-a-uno con DependentA e DependentB, usando l'Id di loro come chiave esterna.
Quindi ecco la mia domanda. Come dovrei migrare i dati? Ecco una query che ho provato, che funziona tranne una cosa: le chiavi esterne in BaseTable per le altre due sono identiche, invece o ne hanno una diversa ciascuna.
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
eseguire una delle colonne nelle tabelle dipendenti sostengono valori unici che potrebbero essere guardato? (vale a dire c1 e c3) – CAbbott
C'è una chiave primaria in quelle tabelle (DependentA e DependentB). – jchapa