Comment rafraichir toutes les vues d'une base de données suite à un changement de schéma ?

 

Voici un petit script T-SQL qui a pour but d'etre executé dès lors qu'une modification du schéma d'un base ayant attrait a la suppression ou renommage d'une colonne dans une table :

 

create procedure [dbo].[RefreshAllViews] as
select

name as vname
into #temp
from sysobjects
where
xtype = 'V'

declare my_cursor Cursor
for

select vname from #temp
open my_cursor
declare @Name varchar(1024)
fetch next from my_cursor into @Name
while (@@Fetch_status <> -1)
begin
exec sp_refreshview @ViewName = @Name
-- print @Name
fetch next from my_cursor into @Name
end
close
my_cursor
deallocate my_cursor
Fonctionne avec Sql2000 et Sql2005

del.icio.us tags:

Aucun commentaire: