本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中删除表列。
![]() |
---|
删除表中的某一列后,该列及其包含的所有数据都将从数据库中删除。 无法撤消此操作。 |
本主题内容
开始之前:
限制和局限
安全性
使用以下工具从表中删除列:
SQL Server Management Studio
Transact-SQL
开始之前
限制和局限
不能删除具有 CHECK 约束的列。 必须首先删除该约束。
不能删除具有 PRIMARY KEY 或 FOREIGN KEY 约束或者其他依赖关系的列,但在使用表设计器时例外。 在使用对象资源管理器或 Transact-SQL 时,必须首先删除该列上的所有依赖关系。
安全性
权限
需要对表的 ALTER 权限。
[Top]
使用 SQL Server Management Studio
通过使用对象资源管理器删除列
在**“对象资源管理器”**中,连接到数据库引擎的实例。
在**“对象资源管理器”中,右键单击要从其删除列的表,然后选择“删除”**。
在**“删除对象”对话框中,单击“确定”**。
如果该列包含约束或其他依赖关系,则在**“删除对象”**对话框中将显示一条错误消息。 通过删除引用的约束解决该错误。
通过使用表设计器删除列
在**“对象资源管理器”中,右键单击要从其删除列的表,然后选择“设计”**。
右键单击要删除的列,然后从快捷菜单上选择**“删除列”**。
如果该列参与了关系(FOREIGN KEY 或 PRIMARY KEY),则将显示一条消息,提示您确认删除所选列及其关系。 选择**“是”**。
[Top]
使用 Transact-SQL
删除列
在**“对象资源管理器”**中,连接到数据库引擎的实例。
在标准菜单栏上,单击**“新建查询”**。
将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。
USE AdventureWorks2012; GO ALTER TABLE dbo.doc_exb DROP COLUMN column_b ;
如果该列包含约束或其他依赖关系,将返回一条错误消息。 通过删除引用的约束解决该错误。
有关其他示例,请参阅 ALTER TABLE (Transact-SQL)。
[Top]