Recently modified the database table structure, the data synchronization problem, found that a lot of data has been modified, but filtered through the view or the original data, so suspect should be the view cache data, in the garden to find the following blog post, here to make a record memo.
original link:http://www.cnblogs.com/yashen/archive/2004/12/23/81000.html
This is often the case when we use SQL Server, and when we modify the structure of a table, the associated view is wrong and the program is wrong, so there is a stored procedure below.
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
|
Bulk update of all views after SQL Server modifies table structure