创建视图时,将创建并存储视图的列结构,因此您可以在对象浏览器中看到它:
[当您更改源数据表时,有时情况会变得古怪,因为视图可能是使用“ Select *”构建的,但是为您创建的模式具有旧信息,而没有其他列。
SQL Server是否有一种简便的方法来重建视图架构?
请勿在视图中使用SELECT *
。我说的是过去(过去)花费太多时间调试具有此“功能”的视图的人。
在生产系统中创建视图时,请使用SCHEMABINDING
创建它:
SCHEMABINDING
将视图绑定到基础表或表的架构。指定SCHEMABINDING时,不能以会影响视图定义的方式修改一个或多个基本表。首先必须修改或删除视图定义本身,以删除对要修改的表的依赖。
尽管这在尝试修改表时增加了一个额外的步骤,但是增加系统的弹性是值得的。