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

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

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

zjcxc 元老 2003-12-15
  • 打赏
  • 举报
回复
--执行:
exec sp_refreshview '视图名'
realgz 2003-12-15
  • 打赏
  • 举报
回复
我也想知道。我还不得不做了一个过程专门干这个事情。
txlicenhe 2003-12-15
  • 打赏
  • 举报
回复
没找到好办法,我也是重新生成一遍。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧