当前位置:Gxlcms > 数据库问题 > 刷新数据库自己定义的视图

刷新数据库自己定义的视图

时间:2021-07-01 10:21:17 帮助过:5人阅读

@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(Ntempdb..#Refresh_View)AND type = U) BEGIN DROP TABLE #Refresh_View; END;

 

刷新数据库自己定义的视图

标签:div   定义   key   sel   cat   HERE   sele   数据   type   

人气教程排行