Я знаю, что это задача, которая не может быть уникальной, но я не могу найти способ сделать то, что я думаю, в моих поисках и чтении, поэтому, если это невозможно, я бы хотел знаю, выбираю ли я лучшую альтернативу.
Простой случай перемещения информации о людях из старой базы данных в новую. Проблема в том, что старая схема имеет адрес в каждой строке, и мы разбиваем его на его собственную таблицу адресов для новой.
То, что я хочу сделать, выглядит примерно так:
INSERT INTO [newDB].[dbo].[Persons] ([FirstName], [LastName], [AddressId], [SSN])
SELECT
p.[Firstname],
p.[Lastname],
AddressId =
(
-- The result of inserting the address into the
-- table or the existing address' ID
),
p.[SSN]
FROM [oldDB].[dbo].[tblPersons] p
Есть ли способ сделать то, что я не могу найти, или я должен сначала ввести адреса, а затем сопоставить их, или я что-то упускаю полностью? Любая помощь будет принята с благодарностью, это первый раз, когда мне приходилось работать над передачей чужих данных, и мой необоснованный оптимизм не продлится намного дольше. ;)