我正在为一个小项目缩减数据库。我听说将表缩减到仅1000行的最有效方法是将这1000行复制到新表中,然后删除旧表并重命名新表。
有人可以让我知道这是否正确,大致如何做吗?
我知道如何选择前1000名,但不知道如何通过使用临时表等来删除和创建表。
INSERT INTO NEW_TABLE
SELECT TOP 1000 * FROM OLD_TABLE
DROP TABLE OLD_TABLE
您可以运行它来创建新表:
SELECT TOP 1000 * INTO NewTable FROM OldTable
使用SELECT INTO将创建一个新表。这种方法的缺点是您会丢失桌上的钥匙。
或者,如果该表存在,则使用
INSERT INTO NewTable SELECT * FROM OldTable
但是,如果您有一个Identity字段,则将不起作用-您需要指定列名
INSERT INTO NewTable (Field1, Field2,...) SELECT Field1, Field2...
如您所见,这实际上取决于您的情况。
要放一张桌子,很简单:
DROP TABLE OldTable
祝你好运。>>