1

我正在为一个小项目缩减数据库。我听说将表减少到只有 1000 行的最有效方法是将这 1000 行复制到新表中删除旧表并重命名新表。

有人可以让我知道这是否正确以及大致如何做吗?

我知道如何选择前 1000 个,但不知道如何使用临时表等删除和创建表。

4

2 回答 2

1
INSERT INTO NEW_TABLE
SELECT TOP 1000 * FROM OLD_TABLE

DROP TABLE OLD_TABLE
于 2013-02-13T16:36:02.063 回答
0

您可以运行它来创建新表:

SELECT TOP 1000 * INTO NewTable FROM OldTable

USING SELECT INTO 将创建一个新表。这种方法的缺点是您丢失了桌子上的钥匙。

或者,如果表存在,请使用

INSERT INTO NewTable SELECT * FROM OldTable

但是,如果您有一个 Identity 字段,这将不起作用——您需要指定列名

INSERT INTO NewTable (Field1, Field2,...) SELECT Field1, Field2...

如您所见,这实际上取决于您的情况。

要删除一个表,这很容易:

DROP TABLE OldTable

祝你好运。

于 2013-02-13T16:36:09.433 回答