Modifier les données par l'intermédiaire d'une vue

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Vous pouvez modifier les données d’une table de base sous-jacente dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL.

Avant de commencer

Limitations et restrictions

Autorisations

Nécessite des autorisations UPDATE, INSERT ou DELETE sur la table cible, selon l'action effectuée.

Utilisation de SQL Server Management Studio

Pour modifier les données de table par le biais d'une vue

  1. Dans l' Explorateur d'objets, développez la base de données qui contient la vue, puis développez Vues.

  2. Cliquez avec le bouton droit sur la vue et sélectionnez Modifier les 200 lignes du haut.

  3. Vous devrez peut-être modifier l'instruction SELECT dans le volet SQL pour retourner les lignes à modifier.

  4. Dans le volet de résultats , recherchez la ligne à modifier ou à supprimer. Pour supprimer la ligne, cliquez dessus avec le bouton droit et sélectionnez Supprimer. Pour modifier des données dans une ou plusieurs colonnes, modifiez les données dans la colonne.

    Important

    Vous ne pouvez pas supprimer une ligne si la vue référence plusieurs table de base. Vous pouvez uniquement mettre à jour les colonnes qui appartiennent à une seule table de base.

  5. Pour insérer une ligne, faites défiler les lignes jusqu'à la fin et insérez les nouvelles valeurs.

    Important

    Vous ne pouvez pas insérer une ligne si la vue référence plusieurs table de base.

Utilisation de Transact-SQL

Pour mettre à jour les données de table par le biais d'une vue

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple remplace la valeur des colonnes StartDate et EndDate d'un employé spécifique par les colonnes de référence dans la vue HumanResources.vEmployeeDepartmentHistory. Cette vue retourne des valeurs de deux tables. Cette instruction réussit car les colonnes qui sont modifiées proviennent uniquement d'une des tables de base.

    USE AdventureWorks2022;   
    GO  
    UPDATE HumanResources.vEmployeeDepartmentHistory  
    SET StartDate = '20110203', EndDate = GETDATE()   
    WHERE LastName = N'Smith' AND FirstName = 'Samantha';   
    GO  
    

Pour plus d’informations, consultez UPDATE (Transact-SQL).

Pour insérer des données de table par le biais d'une vue

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L'exemple insère une nouvelle ligne dans la table de base HumanResouces.Department en spécifiant les colonnes appropriées de la vue HumanResources.vEmployeeDepartmentHistory. L'instruction réussit car seules les colonnes d'une même table de base sont spécifiées et les autres colonnes de la table de base utilisent des valeurs par défaut.

    USE AdventureWorks2022;  
    GO  
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName)   
    VALUES ('MyDepartment', 'MyGroup');   
    GO  
    

Pour plus d’informations, consultez INSERT (Transact-SQL).