Supprimer une vue SQL Server

Comment supprimer une vue SQL Server avec un script ?

La commande DROP VIEW permet de supprimer simplement une vue existante avec un script T-SQL exécuté depuis SQL Server Management Studio (SSMS). Le script ci-dessous est un exemple pour supprimer une vue dans une base de données SQL. C’est à dire que la vue est supprimée, mais pas les tables sources sur lesquelles elle pointe. Noter que la suppression est irréversible. C’est donc uniquement la structure en T-SQL et non les données qui sont potentiellement perdues.

Supprimer une vue MS SQL avec un script (DROP VIEW)

De plus, il est vrai que les vues ne contiennent pas de données, car elles pointent sur des tables. Supprimer une vue SQL Serveur ne supprime pas les données sous-jacentes, pour vider toutes les données dans une table, utiliser un script T-SQL avec la commande TRUNCATE TABLE.

En effet, une vue est plutôt une structure avec une requête de sélection et des filtres potentiels pour filter les données affichées. Ce script T-SQL utilise donc la commande DROP VIEW pour la supprimer complètement du SGBD. Pour l’utiliser, il suffit de l’exécuter dans une fenêtre SSMS connectée à la base de données cible.

DROP VIEW [dbo].[V_VENTES];

Il est recommandé de faire des sauvegardes régulières des bases SQL pour conserver une copie des données et le précieux code qui les exploitent.

Dépendances entre les vues

Si une vue appelle une autre vue, alors il est toujours possible la vue intermédiaire, sans erreur. Pour exécuter le code ci-dessous, créer au préalable la vue des ventes dont le code est disponible dans cet article.

Créer une vue SQL Server avec un script

Pour en apprendre encore plus sur les vues SQL Serveur voici un tutoriel sur les vues partitionnées. Créer une vue SQL Server avec des partions permet d’afficher en une seule requête les données de plusieurs tables sources. En pratique chaque partition est une table.

Créer une vue partitionnée SQL Server pour regrouper des tables

Laisser un commentaire

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