2014-12-19 38 views
0

我在爲我們工作的當前應用程序數據遷移的過程中新表。遷移涉及舊數據庫和新數據庫。舊的數據庫沒有正常化,並有巨大的表格。我們創建了一個新的數據庫,該數據庫現在有許多表格可以更好地存儲數據。我現在的問題是: 我有一箇舊表。我試圖從舊錶中複製數據,插入到新表中。新表,現在將一個字段從varchar到int,是一個FK到一個單獨的表(參與使3臺),我已經給下面的表結構,哪些需要完成的一個片段。我在過去的2天裏搜查了所有的東西,而且似乎找不到答案。SQL服務器:INSERT INTO與舊錶中的數據和不同的列類型

OldTable(是PersonID,文件名,AttachType)

newtable的(是PersonID,文件名,AttachTypeID)

tblAttachType(AttachTypeID,類型名)

所以,我需要轉移到新表舊錶數據和AttachType需要看「的TypeName」進行匹配,然後在新表中插入了「AttachTypeID」,從「tblAttachType」。

預先感謝您。

回答

0

你應該只能夠插入,你需要從你的表在選擇數據。

INSERT INTO NewTable (PersonID, FileName, AttachTypeID) 
SELECT o.PersonID, o.FileName, t.AttachTypeID 
FROM OldTable o 
JOIN tblAttachType t on o.AttachType = t.TypeName