私は次のような状況に取り組んでいます。顧客の住所が各行の列として保存される顧客テーブルがあります。この古いテーブルをSQL Serverの新しい2つのテーブルに移行する方法はありますか。
ここで、デザインを変更した後、住所用のテーブルAddresses
があり、顧客テーブルがアドレスを参照しています。
この新しい構造に移行する際には、最初にAddressId
列を残して顧客を新しい表に移行しましたNULL
。
次に、アドレスを移行するように設定しました。まず、私が考えているコードは次のとおりです。今
INSERT INTO Addresses (
Address,
City,
State
) SELECT
Address,
City,
State
FROM OldDatabase.dbo.Customers
、問題が実行された各挿入のために、新しいものに古い顧客テーブルから取られたアドレス毎に、アドレスIDが追加されなければならないということです顧客テーブル内の対応する顧客列。
どうすればいいですか?対応する顧客のAddressId
を追加したばかりのアドレスIDに設定することで、これらの挿入のそれぞれについて、どのように参照を追加できますか?
EDIT:新規顧客のテーブルには、質問の目的のために、我々はそれがフィールドを持っていると考えることができ、フィールドをたくさん持っている:
- のCustomerId、
- は
をあるAddressIdアドレステーブルには、フィールドがあります。
- AddressId、
- 住所、
- 市、
- 州
古い顧客テーブルが一緒にちょうどこのすべてのでした:
- のCustomerId、
- 住所、
- 市、
- 状態
この古い構造を新しい構造に移行する必要があります。そこで、この古いテーブルの各顧客エントリを新しい顧客エントリとの1つのアドレスエントリにマッピングする必要があります。
AddressId
をnullのままにして、すべての顧客を移行してみましたが、後でアドレスを移行することになりましたが、期待通りに機能しません。アドレスを移行すると、関係。
あなたのテーブル構造を追加してください。期待通りの結果 – Sami
@Sam、私は質問にいくつかの詳細を追加しました – user1620696