如何让视图显示当前列定义?

问题描述 投票:2回答:2

使用SQL Server Express 2008和Management Studio。

我有一张桌子和一个视图。在创建视图时,Table的FirstName列是varchar(50)。将Table.Firstname修改为nvarchar(50),View仍指示该列为varchar(50)。

如何让View显示当前列定义?

这是我尝试过的(不起作用):

  • 单击“刷新”按钮
  • 关闭Management Studio并重新打开它。

这是做了什么工作:

  • 创建一个全新的视图。新视图会显示当前字段定义

注意:这个项目有很多视图,所以我不想重新创建所有视图。

sql-server view schema
2个回答
0
投票

在联机丛书中查找sys.sp_refreshsqlmodule。


4
投票

运行sp_refreshview或更新的sp_refreshsqlmodule

最好的解决方案是使用WITH SCHEMABINDING,这样就不会发生。

在SO上很常见,例如here

© www.soinside.com 2019 - 2024. All rights reserved.