ไวยากรณ์ตามที่ระบุโดย Microsoft สำหรับการปล่อยส่วนคอลัมน์ของคำสั่งALTERคือสิ่งนี้
DROP
{
[ CONSTRAINT ]
{
constraint_name
[ WITH
( <drop_clustered_constraint_option> [ ,...n ] )
]
} [ ,...n ]
| COLUMN
{
column_name
} [ ,...n ]
} [ ,...n ]
โปรดสังเกตว่า [, ... n] ปรากฏขึ้นหลังจากทั้งชื่อคอลัมน์และตอนท้ายของส่วนคำสั่งการปล่อยทั้งหมด สิ่งนี้หมายความว่ามีสองวิธีในการลบหลายคอลัมน์ คุณสามารถทำได้:
ALTER TABLE TableName
DROP COLUMN Column1, Column2, Column3
หรือสิ่งนี้
ALTER TABLE TableName
DROP
COLUMN Column1,
COLUMN Column2,
COLUMN Column3
ไวยากรณ์ที่สองนี้มีประโยชน์หากคุณต้องการรวมการลดลงของคอลัมน์ด้วยการวางข้อ จำกัด :
ALTER TBALE TableName
DROP
CONSTRAINT DF_TableName_Column1,
COLUMN Column1;
เมื่อวางคอลัมน์ SQL Sever จะไม่เรียกคืนพื้นที่ที่เกิดจากคอลัมน์ที่ถูกทิ้ง สำหรับชนิดข้อมูลที่จัดเก็บแบบอินไลน์ในแถว (ตัวอย่างเช่น int) อาจใช้พื้นที่ในแถวใหม่ที่เพิ่มหลังจากคำสั่ง alter เพื่อหลีกเลี่ยงปัญหานี้คุณต้องสร้างดัชนีคลัสเตอร์บนตารางหรือสร้างดัชนีคลัสเตอร์ใหม่หากมีอยู่แล้ว การสร้างดัชนีขึ้นใหม่สามารถทำได้ด้วยคำสั่ง REBUILD หลังจากแก้ไขตาราง แต่ถูกเตือนว่านี่อาจช้าบนโต๊ะที่มีขนาดใหญ่มาก ตัวอย่างเช่น:
ALTER TABLE Test
REBUILD;