批量更新SQL Server資料庫的使用者檢視

iSQlServer發表於2009-01-14

DECLARE @vName sysname

DECLARE refresh_cursor CURSOR FOR
 SELECT Name from sysobjects WHERE xtype = 'V' order by crdate
FOR READ ONLY 
OPEN refresh_cursor

FETCH NEXT FROM refresh_cursor
INTO @vName
 WHILE @@FETCH_STATUS = 0
 BEGIN
--重新整理指定檢視的後設資料。由於檢視所依賴的基礎物件發生更改,檢視的持久後設資料會過期。
  exec sp_refreshview @vName
  PRINT '檢視' + @vName + '已更新'
  FETCH NEXT FROM refresh_cursor
     INTO @vName
 END
CLOSE refresh_cursor
DEALLOCATE refresh_cursor

以上資料庫指令碼在SQL Server 2005中測試通過

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-539641/,如需轉載,請註明出處,否則將追究法律責任。

相關文章