0
我已經與具有列的客戶表中現有的SQL Server數據庫:提取列到新表,並在同一時間創造一個FK到新表
Customers: CustomerId (PK), A, B, C, D, E, F
最後三列代表郵政地址;我想將這些地址列提取到單獨的地址表中,由FK鏈接,並同時遷移數據。所以,我認爲結束:
Customers: CustomerId (PK), A, B, C, AddressId (FK)
Addresses: AddressId (PK), D, E, F
地址最終會通過許多其他表也被引用,因此它需要自己的獨立AddressId,數據庫生成 - 它不能共享相同的ID的客戶。地址也不能包含客戶的FK - 架構必須如圖所示。
我不太流利的SQL。我毫不費力地創建新的Addresses表,將數據複製到SQL中,然後從Customers中刪除冗餘列。但我不知道如何將數據庫生成的AddressId作爲FK返回給客戶。我是否需要使用某種程序方法一個遊標 - 或者有什麼辦法在一個聲明式SQL查詢中完成整個遷移?謝謝。
(注:我希望能夠內的Code First遷移,最終做到這一點。)