SQL Server修改表結構後批量更新所有檢視
最近修改了資料庫表結構,資料同步的時候出了問題,發現很多資料明明已經修改,但是通過檢視篩選出來的還是原來的資料,所以懷疑應該是檢視快取了資料,在園子裡找到下面的博文,在這裡做個記錄備忘。
我們在使用SqlServer時經常遇到這種情況,當修改某個表的結構後,相關的檢視就不對了而導致程式錯誤,因此就有個下面這個儲存過程。
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-673984/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sql Server 獲取指定表、檢視結構SQLServer
- SQL Server檢視所有表大小,所佔空間SQLServer
- 批量更新SQL Server資料庫的使用者檢視SQLServer資料庫
- sql server 修改欄位名,檢視指定表是否存在SQLServer
- 修改SQL-SERVER資料庫表結構的SQL命令SQLServer資料庫
- SQL Server 批量生成資料庫內多個表的表結構SQLServer資料庫
- (轉)Sql Server 快速檢視錶結構(表描述及欄位說明)SQLServer
- SQL Server2008無法修改表結構?SQLServer
- SQL SERVER 不能修改表結構、列型別 解決方法SQLServer型別
- 讀取SQL Server 表結構SQLServer
- sql檢視所有表空間使用情況SQL
- sql server 修改表名SQLServer
- SQL server 聯表更新SQLServer
- 檢視SQL Server資料庫修改了哪些內容SQLServer資料庫
- SQL server 修改表資料SQLServer
- sql-server檢視SQLServer
- Sql Server系列:檢視SQLServer
- postgresql如何檢視所有表SQL
- 檢視SQL SERVER表的空間使用情況SQLServer
- 檢視DB2表結構DB2
- 檢視sqlite中的表結構SQLite
- golden gate同步的表結構修改檢查Go
- Sql Server基礎:使用T_SQL建立,修改,檢視資料庫資訊SQLServer資料庫
- 檢視SQL SERVER表的空間使用情況(續)SQLServer
- SQL Server觸發器建立、刪除、修改、檢視示例步驟SQLServer觸發器
- SQL Server2008儲存結構之基本系統檢視SQLServer
- SQL Server2008儲存結構之物件儲存檢視SQLServer物件
- 查詢 SQL SERVER 所有表記錄數SQLServer
- sql server 檢視tempdb使用的相關檢視SQLServer
- SQL Server 索引結構SQLServer索引
- Sql Server關於indexed view索引檢視的總結SQLServerIndexView索引
- 總結在SQL Server檢視管理中限制條件SQLServer
- SQL Server 索引和表體系結構(聚集索引)SQLServer索引
- sql server 樹狀結構表中,獲取指定節點的所有父節點路徑SQLServer
- 兩種檢視oracle表結構的方法Oracle
- sql server 建臨時表修改資料SQLServer
- SQL Server 索引和表體系結構(非聚集索引)SQLServer索引
- SQL Server 索引和表體系結構(包含列索引)SQLServer索引