刷新SqlServer数据库中所有的视图

使用存储过程刷新所有视图sp_refreshview刷新多个视图

问题:表添加字段后相关视图错位

--定义视图名称和异常视图名称变量

DECLARE @strRefreshViewName NVARCHAR(4000), @streErorView NVARCHAR(4000)

--定义获取所有视图名称的游标

DECLARE cursorViewName CURSOR local

FOR
    SELECT   name 
    FROM    sysobjects
    WHERE   xtype = 'V' 
            AND status > = 0

SET @streErorView='';

---打开游标
OPEN cursorViewName
---循环处理每行游标数据获取视图名称,并执行系统刷新视图储存过程刷新视图。如果出错就打印错误信息。
FETCH cursorViewName INTO @strRefreshViewName
WHILE @@fetch_status = 0 
    BEGIN 
        BEGIN TRY 
            exec sp_refreshview @strRefreshViewName ;        
        END TRY
        BEGIN CATCH--异常
            SET @streErorView=@streErorView+@strRefreshViewName;
            PRINT ( ERROR_MESSAGE() ) ;
        END CATCH
        FETCH cursorViewName INTO @strRefreshViewName
		print @strRefreshViewName;
    END
--关标游标
CLOSE cursorViewName
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值