使用单个Alter语句删除多个列

3

我在网上搜索了很多,但是找不到使用SQL Server 2008在单个alter语句中删除多个列的答案。

我尝试了以下查询:

ALTER TABLE TableToDropColumn DROP (Field2, Field3)

但它报错了

错误消息 102,级别 15,状态 1,行 1
括号附近有语法错误。

3个回答

7
ALTER TABLE TableToDropColumn DROP COLUMN Field2, Field3

SQLFiddle demo


2
ALTER TABLE TableToDropColumn DROP Field2, DROP Field3

ALTER TABLE TableToDropColumn DROP COLUMN Field2, DROP COLUMN Field3.... 是在Postgres中唯一可行的方法。 - David Hladky

2
ALTER TABLE TableToDropColumn DROP COLUMN Field2, Field3

顺带一提:

你可能还需要知道如何消除上面命令执行后产生的浪费空间。你可以使用ALTER TABLE ... REBUILD命令。实际上,DROP COLUMN不会物理删除数据,即使在删除列后添加记录也会占用空间。因此,你需要使用ALTER TABLE ... REBUILD来消除浪费空间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接