Partager via


Modifier des données par le biais d’une vue

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Base de données SQL dans Microsoft Fabric

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

Limites

Consultez la section « Vues pouvant être mises à jour » dans CREATE VIEW.

autorisations

Nécessite UPDATE, INSERTou DELETE des autorisations sur la table cible, en fonction de l’action en cours d’exécution.

Utiliser SQL Server Management Studio

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 renvoyer 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.

    Vous ne pouvez pas supprimer une ligne si la vue fait référence à plusieurs tables 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.

    Vous ne pouvez pas insérer de ligne si la vue fait référence à plusieurs tables de base.

Utiliser Transact-SQL

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, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez 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.

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, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. L'exemple insère une nouvelle ligne dans la table de base HumanResources.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.