Gérer les vues SQL Server

Comment gérer les vues SQL Server? Les vues SQL Server permettent de visualiser tout ou une partie des données contenues dans des tables sans accéder directement au contenu de la table. De plus les vues SQL permettent d’agréger les données de plusieurs tables, en sélectionnant des colonnes avec les mêmes structures.

Comment gérer les vues avec SQL Server?

Voici des exemples de code pour créer, modifier, appeler ou encore supprimer des vues simples ou encore des vues partitionnées.

Créer une vue SQL Server avec CREATE VIEW

CREATE VIEW [dbo].[V_VENTES]
AS 
  SELECT 
    [NombreClients],
    [NombreVentes],
    [Montant_HT],
    [Montant_TTC]
  FROM [dbo].[VENTES];

Modifier une vue SQL Server avec ALTER VIEW

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

Supprimer une vue SQL Server avec DROP VIEW

DROP VIEW [dbo].[V_VENTES];

Supprimer une vue SQL Server si elle existe avec IF EXISTS et DROP VIEW

IF EXISTS (
  SELECT 1 FROM sys.objects
  WHERE  object_id = object_id(N'[dbo].[V_VENTES]')
    AND type in (N'V') )
BEGIN 
  DROP VIEW [dbo].[V_VENTES];
END;

Créer une vue partitionnée avec CREATE VIEW et UNION ALL

CREATE VIEW [dbo].[V_VENTES_P]
AS 
  SELECT [NombreClients], [NombreVentes], [Montant_HT], [Montant_TTC]
  FROM [dbo].[VENTES_01]

  UNION ALL 

  SELECT [NombreClients], [NombreVentes], [Montant_HT], [Montant_TTC]
  FROM [dbo].[VENTES_02]

  UNION ALL 

  SELECT [NombreClients], [NombreVentes], [Montant_HT], [Montant_TTC]
  FROM [dbo].[VENTES_03];

Créer une vue SQL Server avec CREATE VIEW et WITH ENCRYPTION

Ainsi l’encryption masque le code de la vue dans la table système sys.comments pour que la vue ne soit pas publiée si la réplication SQL Server est utilisée.

L’option ne masque pas les données! 

CREATE VIEW [dbo].[V_VENTES_E]
WITH ENCRYPTION 
AS 
  SELECT 
    [NombreClients],
    [NombreVentes],
    [Montant_HT],
    [Montant_TTC]
  FROM [dbo].[VENTES];

Soyez le premier à commenter

Laisser un commentaire