Sql server 删除MS SQL Server中的列
如何从现有表中删除列?Sql server 删除MS SQL Server中的列,sql-server,sql-server-2005,Sql Server,Sql Server 2005,如何从现有表中删除列?更改表XXX删除列YYY您要查找的命令是: alter table tblName drop column columnName 其中,tblName是表的名称,columnName是列的名称,但您可能需要先做几件事 如果该列有任何外键引用,则需要首先清除它们 如果有索引使用该列,则需要将其删除或调整为不使用该列 请记住,此命令的性能不一定很好。一种选择是等待一段停机时间,确定没有人访问数据库,重命名当前表,然后使用create table和insert-in。。。
更改表XXX删除列YYY代码>您要查找的命令是:
alter table tblName drop column columnName
其中,tblName
是表的名称,columnName
是列的名称,但您可能需要先做几件事
- 如果该列有任何外键引用,则需要首先清除它们
- 如果有索引使用该列,则需要将其删除或调整为不使用该列
请记住,此命令的性能不一定很好。一种选择是等待一段停机时间,确定没有人访问数据库,重命名当前表,然后使用create table
和insert-in。。。从
中选择以传输不希望删除的列
Oracle的一个较新版本实际上有一个软删除功能,它可以只将列标记为未使用,而不将其物理删除。它具有相同的效果,因为您不能再引用它,并且有一个命令沿着altertable。。。删除未使用的列
,这意味着要在静默时间运行,这需要实际删除它
这样做的好处是,在繁忙时间可以立即“消失”列,而不会降低数据库性能。对于大型表,这样做可能会非常慢。创建一个新表,一个旧表的副本,但是要进行更改,并插入数据,通常要快得多。删除旧表,然后重命名新表 这也可以通过SSMS GUI完成
我喜欢这种方法,因为它会警告您该列上是否存在任何关系,还可以自动删除这些关系。正如PaxDiablo所说,如果存在关系,必须首先删除它们
在设计视图中放置表格(右键单击表格),如下所示:
在表的设计视图中的列上单击鼠标右键,然后单击“删除”
“专栏”
此时,如果有任何关系也需要删除,它会询问您是否也要删除这些关系 可能重复事实上,另一个问题是在这个问题之后两年写的,所以这将是重复的。尽管另一个问题是在这个问题之后写的,但它得到了更多的意见和投票。必须是一个更谷歌友好的标题或东西。因此,我投票结束了这个问题。在我删除了这些列之后,我必须右键单击“设计”画布,然后选择生成更改脚本
。然后我运行了删除列的脚本。在运行该脚本之前,列没有被删除。@jeppoo1 OOC删除列后是否单击了“保存”按钮?我没有,我想知道为什么我没有想到。。。现在我知道我可以用CTRL+S保存它了!谢谢
ALTER TABLE [Intake].[MER_SF_Opportunity_History] DROP COLUMN [[IntakeIsDeleted]]]
GO