OVH Cloud OVH Cloud

recompilation des vues

2 réponses
Avatar
Cédric SICARD
Bonjour,
j'ai un problème concernant les vues. En effet j'utilise des vues dans ma bd
mais je me suis rendu compte que par moment les vues perdaient un peu la
tete (je suppose que c suite à des modifs de structure de table, je dis je
suppose mais j'ai déjà eu le pbe à plusieurs reprises).
Quand je dis qu'elles perdent la tete ca veut dire que la col1 qui devrait
par exemple afficher mes identifiants m'affiche le contenu de la col2 et la
col2 n'affiche plus rien. Si je vais modifier ma vue ne serait ce que d'un
espace dans le code sql et que je sauvegarde tout redevient normal (
surement grace à une recompiliation de la vue)

Ma question est donc la suivante: existe t il une fonction ou sp qui permet
de recompiler une/les vues de ma bd. Cela me permettrait par exemple
d'executer un travail toutes les nuits afin de les recompiler. Je sais que
ca existe pour les sp ou pour les triggers mais je n'ai rien vu de semblable
pour les vues.

D'avance merci.

2 réponses

Avatar
Philippe T [MS]
Bonjour :

SET NOCOUNT ON

DECLARE @CurObjectName nvarchar(200) -- Table or view name

----
-- Tables and Views recompilation
----
DECLARE My_TableCursor CURSOR FAST_FORWARD FOR
SELECT name FROM SysObjects WHERE xtype = 'U' AND status >= 0 ORDER BY
name

OPEN My_TableCursor
FETCH NEXT FROM My_TableCursor INTO @CurObjectName
WHILE (@@fetch_status = 0)
BEGIN
EXEC( N'update statistics ' + @CurObjectName)
EXEC (N'exec sp_recompile ' + @CurObjectName)

FETCH NEXT FROM My_TableCursor INTO @CurObjectName
END
CLOSE My_TableCursor
DEALLOCATE My_TableCursor


Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france

"Cédric SICARD" wrote in message
news:
Bonjour,
j'ai un problème concernant les vues. En effet j'utilise des vues dans ma


bd
mais je me suis rendu compte que par moment les vues perdaient un peu la
tete (je suppose que c suite à des modifs de structure de table, je dis je
suppose mais j'ai déjà eu le pbe à plusieurs reprises).
Quand je dis qu'elles perdent la tete ca veut dire que la col1 qui devrait
par exemple afficher mes identifiants m'affiche le contenu de la col2 et


la
col2 n'affiche plus rien. Si je vais modifier ma vue ne serait ce que d'un
espace dans le code sql et que je sauvegarde tout redevient normal (
surement grace à une recompiliation de la vue)

Ma question est donc la suivante: existe t il une fonction ou sp qui


permet
de recompiler une/les vues de ma bd. Cela me permettrait par exemple
d'executer un travail toutes les nuits afin de les recompiler. Je sais que
ca existe pour les sp ou pour les triggers mais je n'ai rien vu de


semblable
pour les vues.

D'avance merci.




Avatar
bruno reiter [MVP]
une boucle sur
SELECT TABLE_NAME FROM [INFORMATION_SCHEMA].[VIEWS]
avec sp_refreshview

br

"Cédric SICARD" wrote in message
news:
Bonjour,
j'ai un problème concernant les vues. En effet j'utilise des vues dans ma


bd
mais je me suis rendu compte que par moment les vues perdaient un peu la
tete (je suppose que c suite à des modifs de structure de table, je dis je
suppose mais j'ai déjà eu le pbe à plusieurs reprises).
Quand je dis qu'elles perdent la tete ca veut dire que la col1 qui devrait
par exemple afficher mes identifiants m'affiche le contenu de la col2 et


la
col2 n'affiche plus rien. Si je vais modifier ma vue ne serait ce que d'un
espace dans le code sql et que je sauvegarde tout redevient normal (
surement grace à une recompiliation de la vue)

Ma question est donc la suivante: existe t il une fonction ou sp qui


permet
de recompiler une/les vues de ma bd. Cela me permettrait par exemple
d'executer un travail toutes les nuits afin de les recompiler. Je sais que
ca existe pour les sp ou pour les triggers mais je n'ai rien vu de


semblable
pour les vues.

D'avance merci.