微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我们在使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐