我正在處理以下情況:我有一張客戶表,其中客戶的地址被保存爲每行的列。如何將這個舊錶遷移到SQL Server中的這兩個新表中?
現在,重新設計後,現在有一個表Addresses
爲地址和客戶表引用的地址。
在遷移到這個新結構時,我首先將客戶遷移到新表,並將AddressId
列保留爲NULL
。
然後我開始遷移地址。首先,我心目中的代碼是:
INSERT INTO Addresses (
Address,
City,
State
) SELECT
Address,
City,
State
FROM OldDatabase.dbo.Customers
現在的問題是,每個刀片進行那裏,從老客戶錶帶到了新的每一個地址,地址ID必須添加到客戶表中相應的客戶行。
我該怎麼做?我如何才能爲每個插入添加參考,方法是將相應客戶的AddressId
設置爲剛剛添加的地址ID?
編輯:新客戶表中有很多領域,對這個問題的目的,我們可以認爲它具有以下字段:
- 客戶編號,
- AddressId
地址表具有字段
- AddressId,
- 地址,
- 市
- 國家
老客戶表只是這一切在一起:
- 客戶編號,
- 地址,
- 市
- 州
我需要將這個舊結構遷移到新結構。因此,我需要將此舊錶的每個客戶條目映射到新客戶條目加上一個地址條目。
我試着先遷移所有的客戶,留下AddressId
爲空,稍後再遷移地址,但它不像預期的那樣工作,因爲如果我遷移地址,因爲我在嘗試,我不知道如何添加關係。
請添加表結構和預期的結果 – Sami
@Sami,我已經添加了一些更多的細節問題 – user1620696