Modifier des vuesModify Views

Après avoir défini une vue, vous pouvez modifier sa définition dans SQL Server 2016SQL Server 2016 sans la supprimer ni être obligé de la recréer à l'aide de SQL Server Management StudioSQL Server Management Studio ou de Transact-SQLTransact-SQL.After you define a view, you can modify its definition in SQL Server 2016SQL Server 2016 without dropping and re-creating the view by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Dans cette rubriqueIn This Topic

Avant de commencer Before You Begin

Limitations et restrictions Limitations and Restrictions

  • Modifier une vue n'affecte aucun des objets qui en dépendent, tels que les procédures stockées ou les déclencheurs, à moins que la définition de la vue ne change de telle manière qu'un objet sous-jacent ne soit plus valide.Modifying a view does not affect any dependent objects, such as stored procedures or triggers, unless the definition of the view changes in such a way that the dependent object is no longer valid.

  • Si la vue actuellement utilisée est modifiée en utilisant ALTER VIEW, le Moteur de base de donnéesDatabase Engine pose un verrou de schéma exclusif sur la vue.If a view currently used is modified by using ALTER VIEW, the Moteur de base de donnéesDatabase Engine takes an exclusive schema lock on the view. Lorsque le verrou est attribué (et qu'il n'y a aucun utilisateur actif de la vue), le Moteur de base de donnéesDatabase Engine supprime toutes les copies de la vue du cache de procédure.When the lock is granted, and there are no active users of the view, the Moteur de base de donnéesDatabase Engine deletes all copies of the view from the procedure cache. Les plans existants qui font référence à la vue restent dans le cache, mais ils sont recompilés lorsqu'ils sont invoqués.Existing plans referencing the view remain in the cache but are recompiled when invoked.

  • L"instruction ALTER VIEW peut être appliquée à des vues indexées, mais elle supprime de manière inconditionnelle tous les index de la vue.ALTER VIEW can be applied to indexed views; however, ALTER VIEW unconditionally drops all indexes on the view.

Sécurité Security

Autorisations Permissions

Pour exécuter l'instruction ALTER VIEW, il est nécessaire de disposer au minimum de l'autorisation ALTER sur OBJECT.To execute ALTER VIEW, at a minimum, ALTER permission on OBJECT is required.

Utilisation de SQL Server Management Studio Using SQL Server Management Studio

Pour modifier une vueTo modify a view

  1. Dans l' Explorateur d'objets, cliquez sur le signe plus (+) en regard de la base de données dans laquelle votre vue se trouve, puis cliquez sur le signe plus (+) en regard du dossier Vues .In Object Explorer, click the plus sign next to the database where your view is located and then click the plus sign next to the Views folder.

  2. Cliquez avec le bouton droit sur la vue à modifier, puis sélectionnez Conception.Right-click on the view you wish to modify and select Design.

  3. Dans le volet Diagramme du Concepteur de requêtes, apportez les modifications à la vue à l'aide d'une ou de plusieurs des méthodes suivantes :In the diagram pane of the query designer, make changes to the view in one or more of the following ways:

    1. Activez ou désactivez les cases à cocher des éléments à ajouter ou supprimer.Select or clear the check boxes of any elements you wish to add or remove.

    2. Cliquez avec le bouton droit dans le volet Schéma, sélectionnez Ajouter une table…, puis les colonnes supplémentaires à ajouter à la vue dans la boîte de dialogue Ajouter une table .Right-click within the diagram pane, select Add Table…, and then select the additional columns you want to add to the view from the Add Table dialog box.

    3. Cliquez avec le bouton droit sur la barre de titre de la table que vous souhaitez supprimer et sélectionnez Supprimer.Right-click the title bar of the table you wish to remove and select Remove.

  4. Dans le menu Fichier , cliquez sur Enregistrernom de la vue.On the File menu, click Saveview name.

Utilisation de Transact-SQL Using Transact-SQL

Pour modifier une vueTo modify a view

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de donnéesDatabase Engine.In Object Explorer, connect to an instance of Moteur de base de donnéesDatabase Engine.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.On the Standard bar, click New Query.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.Copy and paste the following example into the query window and click Execute. L'exemple commence par créer une vue, puis la modifie à l'aide de ALTER VIEW.The example first creates a view and then modifies the view by using ALTER VIEW. Une clause WHERE est ajoutée à la définition de la vue.A WHERE clause is added to the view definition.

    USE AdventureWorks2012 ;  
    GO  
    -- Create a view.  
    CREATE VIEW HumanResources.EmployeeHireDate  
    AS  
    SELECT p.FirstName, p.LastName, e.HireDate  
    FROM HumanResources.Employee AS e JOIN Person.Person AS  p  
    ON e.BusinessEntityID = p.BusinessEntityID ;   
    
    -- Modify the view by adding a WHERE clause to limit the rows returned.  
    ALTER VIEW HumanResources.EmployeeHireDate  
    AS  
    SELECT p.FirstName, p.LastName, e.HireDate  
    FROM HumanResources.Employee AS e JOIN Person.Person AS  p  
    ON e.BusinessEntityID = p.BusinessEntityID  
    WHERE HireDate < CONVERT(DATETIME,'20020101',101) ;   
    GO  
    

    Pour plus d’informations, consultez ALTER VIEW (Transact-SQL).For more information, see ALTER VIEW (Transact-SQL).