Modifier une vue SQL Server (Alter View)

Comment modifier une vue SQL Server avec un script T-SQL ? Cet exemple de code permet de modifier une vue existante. Il suffit d’utiliser la commande générique ALTER et VIEW. Par exemple pour supprimer une colonne de la vue existante ou encore ajouter une colonne calculée à partir d’autre colonnes de la table source.

1. Exemples pour modifier une vue SQL Server avec Alter View

En effet, ces scripts T-SQL permettent de modifier une vue existante dans une base de données. Par exemple pour supprimer la colonne Nombre de clients, nommée NombreClients. Pour qu’elle n’apparaisse plus dans la liste de colonnes de la nouvelle vue.

La vue SQL Server V_Ventes contient donc des données de ventes. Le code source de la vue initiale est disponible dans cet article qui explique comment créer une vue SQL Server. Il faut donc exécuter le code source de la vue au préalable pour exécuter le suivant.

2. Supprimer une colonne depuis une vue en T-SQL

Exécuter donc le code suivant pour pouvoir modifier la vue comme suit:

ALTER VIEW [dbo].[V_VENTES]
AS
	SELECT
		[NombreVentes], -- Suppression de la colonne [NombreClients]
		[Montant_HT],
		[Montant_TTC]
	FROM [dbo].[VENTES];

En effet les colonnes sont lues depuis la table source. Et une vue permet justement de sélectionner uniquement les données utiles. De manière horizontale (avec les colonnes choisies) et verticale (avec le filtre sur les données avec la commande SELECT). Noter qu’il existe une astuce très simple pour s’assurer que la sélection dans le script de la vue fonctionne parfaitement.

L’objectif est donc de développer la vue de code en deux étapes successives.

  • La première consiste à la tester comme une simple sélection jusqu’à ce que toutes les colonnes soient disponibles et que la requête de sélection soit terminée conformément aux exigences du projet.
  • Ensuite, il faut intégrer l’instruction select au script de la vue sans problème.

3. Ajouter une colonne à une vue existante en T-SQL

Pour ajouter une colonne à une vue existante, utilisez la commande ALTER VIEW suivie de la commande AS et de la nouvelle liste de colonnes. Par exemple :

ALTER VIEW [dbo].[V_VENTES]
AS
SELECT
	[NombreVentes],
	[Montant_HT],
	[Montant_TTC],
	[DateVente] -- Ajout de la colonne [DateVente]
FROM [dbo].[VENTES];

4. Modifier une ou plusieurs colonnes dans une vue SQL Server

Pour modifier une colonne dans une vue existante, utilisez la commande ALTER VIEW suivie de la commande AS et de la nouvelle liste de colonnes, en modifiant simplement la colonne existante. Utiliser par exemple ce code écrit en langage T-SQL pour transformer la colonne avec les montant HT en montants avec TVA.

ALTER VIEW [dbo].[V_VENTES]
AS
SELECT
[NombreVentes],
[Montant_HT] * 1.2 AS [Montant_HT_TVA], -- Modification de la colonne [Montant_HT]
[Montant_TTC],
[DateVente]
FROM [dbo].[VENTES];

5. Ajouter une condition WHERE à une vue MS SQL

Pour ajouter une condition WHERE à une vue existante pour filtrer les données, utilisez la commande ALTER VIEW suivie de la commande AS. Puis utiliser la nouvelle liste de colonnes, avec la condition WHERE ajoutée après la commande FROM, comme dans une requête classique de sélection de données.

ALTER VIEW [dbo].[V_VENTES]
AS
SELECT
[NombreVentes],
[Montant_HT],
[Montant_TTC],
[DateVente]
FROM [dbo].[VENTES]
WHERE [DateVente] BETWEEN '2022-01-01' AND '2022-12-31';

6. Renommer une vue avec un script T-SQL

Enfin, pour renommer une vue, il faut utiliser cette fois une procédure stockée système. En effet, utiliser la commande sp_rename en spécifiant l’ancien nom et le nouveau nom. Par exemple, le code suivant renomme la vue V_VENTES en V_VENTES_2022, pour être cohérent avec le filtre appliqué dans l’exemple précédent.

EXEC sp_rename 'dbo.V_VENTES', 'V_VENTES_2022';

7. Conclusion sur la modification des vues SQL Server

En conclusion, cet article nous a présenté des exemples pratiques de scripts T-SQL permettant de modifier des vues existantes dans une base de données Microsoft SQL Server. Nous avons appris qu’il est possible de supprimer une colonne de la vue, d’ajouter une colonne calculée à partir d’autres colonnes de la table source, de modifier une ou plusieurs colonnes existantes et d’ajouter une condition WHERE pour filtrer les données.

Enfin, nous avons également appris comment renommer une vue en utilisant la commande sp_rename. Ces exemples pratiques sont utiles pour les administrateurs de base de données qui souhaitent effectuer des modifications sur des vues existantes, tout en conservant la flexibilité et les avantages offerts par les vues.

Si besoin, voici comment supprimer une vue après un test d’existence avant de la recréer.

Tester et supprimer une vue SQL Server si elle existe

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *