1. MSSQL DropView被废除
在MS SQL Server 2016之前,删除数据库中的视图通常是通过使用DROP VIEW语句完成的。但是,自从2016年之后,Microsoft废除了DROP VIEW语句,转而提倡使用ALTER VIEW语句进行更改和删除。这个改变对于使用了MS SQL Server的开发人员和DBA来说是个重要的变化,需要做出适应和调整。
2. DROP VIEW与ALTER VIEW的比较
2.1 为什么会废除DROP VIEW语句
在过去的版本中,DROP VIEW语句会将视图及其定义从数据库中完全删除。这意味着在删除视图之后,开发人员和DBA必须完全重新创建视图和重新定义它们。
为了改进这一点,Microsoft被建议使用ALTER VIEW语句,而不是DROP VIEW语句。ALTER VIEW语句可以用来更改视图的定义、添加新的列、更改列类型、更改列名等。 此外,ALTER VIEW还可以用来删除特定的列,而不必完全删除视图,这比DROP VIEW更为灵活和有效。
2.2 ALTER VIEW的基本用法
ALTER VIEW的语法如下所示:
ALTER VIEW [schemaName.]viewName [(column [,...n])]
AS select_statement
[WITH [ENCRYPTION | SCHEMABINDING | VIEW_METADATA]]
[GO]
这里是ALTER VIEW的一些方面的详细说明:
schemaName:视图所在的模式的名称。
viewName:要修改的视图的名称。
column:要更改的列的名称。
select_statement:包含视图定义的SELECT语句。
WITH:用于修改视图属性的可选关键字。
ENCRYPTION:可以用来将视图定义加密,以保护它们免受非法查看和修改。
SCHEMABINDING:可以用来绑定视图的查询到依赖于其查询的表、视图或函数。
VIEW_METADATA:会使视图中的元数据可用于元数据函数和视图定义。
2.3 ALTER VIEW删除列
在ALTER VIEW中删除列可以通过使用DROP COLUMN语句完成。以下是使用ALTER VIEW删除列的示例:
ALTER VIEW Sales.vIndividualCustomer
DROP COLUMN ModifiedDate ;
这会将名为“ModifiedDate”的列从Sales.vIndividualCustomer视图中删除。
3. 总结
MSSQL DropView已被废除,使用ALTER VIEW对视图进行修改和删除是更好的选择。通过ALTER VIEW,可以更灵活地修改和删除视图的定义,而不必完全删除视图并重新创建它们。此外,ALTER VIEW还可以用来删除特定的列,使视图更加灵活和高效。开发人员和DBA需要及时调整他们的表格管理策略并使用ALTER VIEW来替代DROP VIEW。