2009-09-22 45 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