Partager via


sp_refreshview (Transact-SQL)

Mis à jour : 14 avril 2006

Met à jour les métadonnées de la vue non liée au schéma spécifiée. Les métadonnées persistantes d'une vue peuvent devenir obsolètes en raison des modifications des objets sous-jacents dont dépend l'affichage.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_refreshview [ @viewname = ] 'viewname' 

Arguments

  • [ @viewname= ] 'viewname'
    Nom de la vue. viewname est de type nvarchar et n'a pas de valeur par défaut. viewname peut être un identificateur multipartie, mais ne peut faire référence qu'à des vues de la base de données active.

Notes

Si aucune vue n'est créée avec schemabinding, sp_refreshview doit être exécutée lorsque des modifications sont apportées aux objets sous-jacents de la vue qui affectent sa définition. Sinon, la vue risque de produire des résultats imprévisibles en cas d'interrogation.

Autorisations

Requiert l'autorisation ALTER sur la vue ainsi que l'autorisation REFERENCES sur les types CLR (Common Language Runtime) définis par l'utilisateur et sur les collections de schémas XML référencés par les colonnes de la vue.

Valeurs des codes renvoyés

0 (succès) ou nombre non nul (échec)

Exemple

A. Mise à jour des métadonnées d'une vue

L'exemple suivant actualise les métadonnées de la vue Sales.vIndividualCustomer.

USE AdventureWorks;
GO
exec sp_refreshview N'Sales.vIndividualCustomer';

B. Création d'un script qui met à jour toutes les vues ayant des dépendances envers un objet modifié

Supposez que la table Person.Contact a été modifiée d'une manière qui affecte la définition de toute vue créée dessus. L'exemple suivant crée un script qui actualise les métadonnées de toutes les vues qui ont une dépendance envers une table Person.Contact.

USE AdventureWorks;
GO
SELECT DISTINCT 'EXEC sp_refreshview ''' + name + '''' 
FROM sys.objects so INNER JOIN sys.sql_dependencies sd 
ON so.object_id = sd.object_id 
WHERE type = 'V' 
AND sd.referenced_major_id = object_id('Person.Contact') 

Voir aussi

Référence

Procédures stockées du moteur de base de données (Transact-SQL)
Procédures stockées système (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Nouveau contenu :
  • Ajout de la section Notes afin de clarifier la raison de l'utilisation de sp_refreshview.
  • Ajout de l'exemple B.
Contenu modifié :
  • Mise à jour de l'exemple A.