Modifier les données par l'intermédiaire d'une vue
Vous pouvez modifier les données d'une table de base sous-jacente dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL.
Dans cette rubrique
Avant de commencer :
Limitations et restrictions
Sécurité
Pour modifier les données de table par le biais d'une vue, utilisez :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Limitations et restrictions
- Consultez la section Vues pouvant être mises à jour dans CREATE VIEW (Transact-SQL).
Sécurité
Autorisations
Nécessite des autorisations UPDATE, INSERT ou DELETE sur la table cible, selon l'action effectuée.
[Top]
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.
[Top]
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 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 AdventureWorks2012 ; 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 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 AdventureWorks2012 ; GO INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) VALUES ('MyDepartment', 'MyGroup'); GO
Pour plus d'informations, consultez INSERT (Transact-SQL).
[Top]