2009-09-22 88 views
1

我需要將現有的表拆分爲Sql Server 2005上的兩個或多個表。表中已經有一千多行。將Ms Msql 2005拆分爲兩個或多個部分

對於例如當前表具有列A,B,C,D,E加ID列。我需要將A,B,C行添加到另一個數據庫中的另一個表中,並將D,E添加到另一個數據庫中的另一個表中。

我知道這很奇怪。但我真的必須這樣做。

什麼是最好的方法?

+0

*爲什麼*你必須這樣做? – 2009-09-22 02:13:16

+0

壞的db設計屬於舊的程序員......項目經理要求更好的設計。因此我必須將現有數據遷移到新數據。 – JCasso 2009-09-22 12:10:23

回答

1

千行幾乎沒有任何東西。我敢肯定,即使SQL Server可以處理數百萬。

但是,如果你想繼續,你可以使用下面的僞代碼。

INSERT INTO SecondTable 
SELECT id, A, B, C 
FROM CurrentTable 

INSERT INTO ThirdTable 
SELECT id, D, E 
FROM CurrentTable 

此代碼假設您的第2個和第3個表爲空。如果他們不是,並且你需要匹配id(比如說),那麼擴展上面的代碼來處理這種情況不應該很難。

+0

SQL服務器僅受磁盤空間,內存和可用CPU限制。行數是相對的。在你的防守中,如果在一臺不錯的機器上正確配置,它可以輕鬆處理大量負載。 – 2009-09-22 03:35:37

+0

當表格中有一千行時,我只是想指出它不是空的。無論如何,似乎最簡單的一個插入選定的值。 – JCasso 2009-09-22 12:18:58