No matter whether this is the right thing to do or not, here might be a possible solution: split it in 2 SQL-statements: first insert all the Address-records, then update the Employee-records: INSERT INTO Addresses (Address1, . . . ) SELECT Address1, . . . FROM Employee UPDATE Employee SET AddressID = a.AddressID FROM Employee AS e JOIN Address AS a ...
