Modifier les données par l'intermédiaire d'une vue
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
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.
Avant de commencer
Limitations et restrictions
- Consultez la section « Vues pouvant être mises à jour » dans CREATE VIEW (Transact-SQL).
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
Dans l' Explorateur d'objets, développez la base de données qui contient la vue, puis développez Vues.
Cliquez avec le bouton droit sur la vue et sélectionnez Modifier les 200 lignes du haut.
Vous devrez peut-être modifier l'instruction SELECT dans le volet SQL pour retourner les lignes à modifier.
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.
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
Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
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
etEndDate
d'un employé spécifique par les colonnes de référence dans la vueHumanResources.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
Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
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
HumanResources.Department
en spécifiant les colonnes appropriées de la vueHumanResources.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).