导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

关于基表变化视图刷新的问题

xianzhenning 2003-12-15 10:29:45
众所周知,视图都是在表确定后建立的,但是视图生成后,标的某个字段长度发生变化,这时候需要刷新视图,一般都是到查询分析器中打开视图,重新生成,有没有一个办法,来用程序代替这个过程?这是视图使用中很重要的问题
...全文
33 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
/*
更新数据库中的所有视图
解决由于视图所依赖的基础对象的更改,视图的持久元数据会过期。
注意:此更新是针对当前数据库,所以之前要先打开要更新的数据库
*/

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

回复
--执行:
exec sp_refreshview '视图名'
回复
realgz 2003-12-15
我也想知道。我还不得不做了一个过程专门干这个事情。
回复
txlicenhe 2003-12-15
没找到好办法,我也是重新生成一遍。
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告