exec sp_refreshview '视图名'

解决方案 »

  1.   

    更改基表结构后,相关的视图要重编译。
    exec sp_refreshview '视图名'
      

  2.   

    /*
    更新数据库中的所有视图
    解决由于视图所依赖的基础对象的更改,视图的持久元数据会过期。
    注意:此更新是针对当前数据库,所以之前要先打开要更新的数据库
    */declare @ViewName varchar(250)
    declare #views cursor for select name from sysobjects
    where objectproperty(id,N'IsView')=1 and uid=1 order by name
    open #views
    fetch next from #views into @viewname
    while @@fetch_status=0
    begin
    print '更新: '+@viewname
    exec sp_refreshview @viewname --更新视图
    fetch next from #views into @viewname
    end
    close #views
    deallocate #views