如何从视图中删除列
Posted
技术标签:
【中文标题】如何从视图中删除列【英文标题】:How to remove column from a view 【发布时间】:2020-07-06 12:06:00 【问题描述】:我正在使用 MS SQL 服务器(2017,Standart Edition-64)。我从我的数据库表中删除了一些列,但这些列仍然出现在表视图中,这给我带来了一些性能问题。 我需要从视图中删除列。
我知道视图没有像表一样的 DROP COLUMN 语句。另外 - 似乎 ALTER VIEW 不提供删除列的选项。
视图有特定的依赖和触发器,所以我不能简单地删除并创建一个新的。也许有一些方法可以重新创建视图删除不需要的列,但保留所有其他属性?
【问题讨论】:
您需要使用仅包含所需列的新定义重新定义视图(使用alter view
)。
VIEW
是由SELECT
语句定义的伪表。如果您不想在 VIEW
中显示列,则需要通过不在视图定义的(最终)SELECT
子句中包含该列来将其从其定义中删除。
【参考方案1】:
create view test001 as
select name,company from [dbo].test
alter view test001 as
select name,company,address from [dbo].test
【讨论】:
以上是关于如何从视图中删除列的主要内容,如果未能解决你的问题,请参考以下文章