加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

刷新SqlServer所有视图元数据的存储过程

发布时间:2020-12-12 15:44:02 所属栏目:MsSql教程 来源:网络整理
导读:我们在使用SqlServer时经常遇到这种情况,当修改某个表的结构后,相关的视图就不对了而导致程序错误,因此就有个下面这个存储过程。 ? ? ? ? ? ??? exec sp_executesql @sqlCreateView ? ? ? ? ? CREATE ? PROCEDURE ?RefreshAllView? AS DECLARE ?MyCursor?

我们在使用SqlServer时经常遇到这种情况,当修改某个表的结构后,相关的视图就不对了而导致程序错误,因此就有个下面这个存储过程。

?

?

?

?

?



??? exec sp_executesql @sqlCreateView


?

?

?

?

?

CREATE ? PROCEDURE ?RefreshAllView? AS

DECLARE ?MyCursor? CURSOR

FOR ? select ?Name? from ?dbo.sysobjects? where ?? OBJECTPROPERTY (id,?N ' IsView ' )? = ? 1 ? and ?( not ?name? in ?( ' sysconstraints ' , ' syssegments ' ))


DECLARE ?@name? varchar ( 40 )

OPEN ?MyCursor


FETCH ? NEXT ? FROM ?MyCursor? INTO ?@name

WHILE ?(@@fetch_status? <> ? - 1 )

BEGIN

????
IF ?(@@fetch_status? <> ? - 2 )

????
begin

?????
exec ?sp_refreshview?@name

?????????????
end

????
FETCH ? NEXT ? FROM ?MyCursor? INTO ?@name

END


CLOSE ?MyCursor

DEALLOCATE ?MyCursor

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读