我在网上搜索了很多,但找不到使用SQL Server 2008在单个alter语句中删除多个列的答案。
我尝试了以下查询
ALTER TABLE TableToDropColumn DROP (Field2, Field3)
但它会抛出错误
Msg 102,Level 15,State 1,Line 1
附近的语法不正确
'('。
答案 0 :(得分:6)
ALTER TABLE TableToDropColumn DROP COLUMN Field2, Field3
答案 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