zoukankan      html  css  js  c++  java
  • 刷新数据库自己定义的视图

    DECLARE @TotalCount INT           = 0,
            @NowCount   INT           = 0,
            @v_Name     NVARCHAR(300) = N'';
    --创建临时表
    CREATE TABLE #Refresh_View 
    ( ID INT IDENTITY(1, 1),
      v_Name NVARCHAR(300),
      PRIMARY KEY (ID));
    INSERT INTO #Refresh_View
    SELECT name AS v_Name FROM sys.all_objects WHERE [type]= 'v' AND schema_id =1;
    SELECT @TotalCount = COUNT(*) FROM #Refresh_View;
    SET @NowCount = 1;
    --循环所有视图并刷新视图
    WHILE (@NowCount <= @TotalCount)
    BEGIN
        SELECT @v_Name = v_Name
          FROM #Refresh_View
         WHERE ID = @NowCount;
        BEGIN TRY
            EXEC sp_refreshview @v_Name;
            PRINT '视图' + @v_Name + '成功';
        END TRY
        BEGIN CATCH
            PRINT '视图' + @v_Name + '失败';
        END CATCH;
        SET @NowCount=@NowCount+1;
    END;
    --删除零时表
    IF EXISTS (SELECT * FROM tempdb.dbo.sysobjects WHERE id   = OBJECT_ID(N'tempdb..#Refresh_View')AND type = 'U')
    BEGIN
        DROP TABLE #Refresh_View;
    END;
  • 相关阅读:
    淘宝网站
    CentOS 安装 gcc
    待整理
    待整理
    CentOS常用查看系统命令
    Oracle 分区字段数据更新
    MapReduce修改输出的文件名
    MapReduce分区的使用(Partition)
    使用JobControl控制MapReduce任务
    Centos安装ntfs
  • 原文地址:https://www.cnblogs.com/zldqpm/p/13371273.html
Copyright © 2011-2022 走看看