重命名视图
适用于: SQL Server Azure SQL 数据库 Azure Synapse Analytics 分析平台系统 (PDW)
可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 重命名视图。
警告
如果重命名视图,则依赖于该视图的代码和应用程序可能会出错。 这些代码和应用程序包括其他视图、查询、存储过程、用户定义函数和客户端应用程序。 注意,这些错误会级联发生。
先决条件
- 获取视图的所有依赖关系的列表。 必须修改引用视图的任何对象、脚本或应用程序,以反映新的视图名。 有关详细信息,请参阅 Get Information About a View。
- 我们建议您删除视图,然后使用新名称重新创建它,而不是重命名视图。 通过重新创建视图,您可以更新视图中引用的对象的依赖关系信息。
- 删除并重新创建视图将删除分配给视图的任何粒度化 SQL 权限。 如果为视图分配了任何粒度化 SQL 权限,则需要在重新创建视图后重新向该视图授予权限。 要检索在删除对象之前授予的粒度权限,请参阅 sys.database_permissions (Transact-SQL) 中的示例。 要授予权限,请参阅 向主体授予权限。
权限
需要对 SCHEMA 的 ALTER 权限或对 OBJECT 的 CONTROL 权限,以及数据库中的 CREATE VIEW 权限。
使用 SQL Server Management Studio
重命名视图
在 “对象资源管理器”中,展开包含要重命名的视图的数据库,然后展开 “视图” 文件夹。
右键单击要重命名的视图,然后选择 “重命名”。
输入视图的新名称。
使用 Transact-SQL
尽管可以使用 sp_rename
更改视图的名称,但是我们建议删除现有视图,然后使用新名称重新创建视图。
使用 sp_rename
重命名存储过程、函数、视图或触发器时,sys.sql_modules 目录视图的定义列中相应对象的名称不会更改。 这可能会在以后造成混淆。 因此,不建议使用 sp_rename
重命名对象。 而是删除对象,然后使用新名称重新创建该对象。
例如:
DROP VIEW [dbo].[vOrders];
GO
CREATE VIEW [dbo].[vOrders]
AS
<select_statement>
GO
有关更多信息,请参阅 CREATE VIEW (Transact-SQL) 和 DROP VIEW (Transact-SQL)。
跟进:在重命名视图之后
- 确保引用视图的旧名称的所有对象、脚本和应用程序现在都使用新名称。
- 删除并重新创建视图将删除分配给视图的任何粒度化 SQL 权限。 如果为视图分配了任何粒度化 SQL 权限,则需要在重新创建视图时重新向该视图授予权限。 要检索在删除对象之前授予的粒度权限,请参阅 sys.database_permissions (Transact-SQL) 中的示例。 要授予权限,请参阅 向主体授予权限。