SQLServer之删除视图

时间:2022-11-09 06:01:19

删除视图注意事项

删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息。 还将删除视图的所有权限。

使用 DROP TABLE 删除的表上的任何视图都必须使用 DROP VIEW 显式删除。

对索引视图执行 DROP VIEW 时,将自动删除视图上的所有索引。 若要显示视图上的所有索引,请使用 sp_helpindex。

通过视图进行查询时, 数据库引擎将进行检查以确保语句中引用的所有数据库对象都存在,这些对象在语句的上下文中有效,以及数据修改语句没有违反任何数据完整性规则。 如果检查失败,将返回错误消息。 如果检查成功,则将操作转换为对基础表的操作。 如果基础表或视图自最初创建视图以来已发生更改,则删除并重新创建视图可能很有用。

有关确定特定视图的依赖关系的详细信息,请参阅 sys.sql_dependencies (Transact-SQL)。

有关查看视图文本的详细信息,请参阅 sp_helptext (Transact-SQL)。

删除视图需要对视图拥有 CONTROL 权限,对包含视图的架构拥有 ALTER 权限,或者拥有 db_ddladmin 固定服务器角色中的成员身份。

使用SSMS数据库管理工具删除视图

1、连接数据库,选择数据库,展开数据库-》展开视图-》选择要删除的视图-》右键点击-》选择删除。

SQLServer之删除视图

2、在删除对象弹出框-》点击确定。

SQLServer之删除视图

3、删除结果。

SQLServer之删除视图

使用T-SQL脚本删除视图

语法:

--声明数据库引用
use 数据库名;
go

--判断视图是否存在,如果存在则删除
if exists(select * from sys.views where name=[架构名][.]视图名称)
--删除单个视图
drop view [架构名][.]视图名称;
--删除多个视图
--drop view [架构名][.]视图名称1,[架构名][.]视图名称2,......;
go

示例:

--声明数据库引用
use testss;
go

--判断视图是否存在,如果存在则删除
if exists(select * from sys.views where name='view1')
--删除单个视图
drop view view1;
go

示例结果:

SQLServer之删除视图