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

时间:2010-12-09 19:56:26

标签: sql-server view schema

使用SQL Server Express 2008&管理工作室。

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

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

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

  • 单击“刷新”按钮
  • 关闭管理工作室&重新打开它。

这是做了什么工作:

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

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

2 个答案:

答案 0 :(得分:4)

运行sp_refreshview或更新的sp_refreshsqlmodule

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

在SO上很常见,例如here

答案 1 :(得分:0)

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