使用单个Alter删除多个列

时间:2013-12-07 11:27:48

标签: sql-server sql-server-2008

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

我尝试了以下查询

ALTER TABLE TableToDropColumn DROP (Field2, Field3)

但它会抛出错误

  

Msg 102,Level 15,State 1,Line 1
  '('。

附近的语法不正确

3 个答案:

答案 0 :(得分:6)

ALTER TABLE TableToDropColumn DROP COLUMN Field2, Field3

SQLFiddle demo

答案 1 :(得分:2)

ALTER TABLE TableToDropColumn DROP COLUMN Field2, Field3

旁注:

您可能还需要知道如何摆脱在上述命令之后创建的浪费空间。您可以ALTER TABLE ... REBUILD。实际上DROP COLUMN没有物理删除数据,即使对于删除列后添加的记录,也会占用空间。这就是为什么你需要使用ALTER TABLE ... REBUILD来摆脱浪费的空间

答案 2 :(得分:1)

ALTER TABLE TableToDropColumn DROP Field2, DROP Field3