Comment utiliser la colonne calculée SQL Server

Comment utiliser la colonne calculée SQL Server
Une colonne calculée est une colonne virtuelle dont la valeur est le résultat d'une expression en utilisant principalement d'autres données stockées dans d'autres colonnes. Une colonne calculée est une colonne virtuelle qui signifie que SQL Server ne le stocke pas réellement physiquement sur une table. Au lieu de cela, la valeur d'une colonne calculée est calculée lorsque les données sont interrogées. Vous pouvez cependant le stocker physiquement en spécifiant le paramètre persistant.

Ce guide vous donnera les éléments essentiels de la création et de l'utilisation de colonnes calculées dans SQL Server.

Avant de plonger dans un exemple pratique et d'utiliser des colonnes calculées, il y a quelques points clés à noter.

  1. Une colonne calculée ne peut pas contenir par défaut, pas nul ou contraintes de clé étrangère à moins que la colonne soit définie sur.
  2. Vous ne pouvez pas utiliser une colonne calculée sur une insertion ou des instructions de mise à jour.

Utilisation de la colonne calculée SQL Server

Pour mieux comprendre comment utiliser les colonnes calculées SQL Server, nous utiliserons un exemple pratique.

Commencez par créer un exemple de données comme indiqué dans les requêtes ci-dessous:

Créer une base de données Sales_database;
Utiliser Sales_database;
Créer des ventes de tables (
ID INT Identité (1,1) Pas de clé primaire nul,
Product_name Varchar (50),
prix,
quantité int
));
Insérer dans les ventes (Product_name, prix, quantité)
Valeurs ('iPhone Charger', 9 $.99, 10),
('Google Chromecast', 59 $.25, 5),
('PlayStation DualSense Wireless Controller', 69 $.00, 100),
('Xbox Series S', 322 $.00, 3),
('Oculus Quest 2', 299 $.50, 7),
('Netgear Nighthawk', 236 $.30, 40),
('Redragon S101', 35 $.98, 100),
('Star Wars Action Figure', 17 $.50, 10),
('Mario Kart 8 Deluxe', 57 $.00, 5);

Une fois que nous avons les exemples de données, nous pouvons continuer.

Créer une colonne calculée: T-SQL

La création d'une colonne calculée dans SQL Server est simple. Utilisez la commande Create Table ou Alter Table pour ajouter une colonne calculée.

Par exemple, nous pouvons créer une colonne calculée qui calcule le prix total des articles en fonction du prix et de la quantité.

Considérez l'exemple ci-dessous:

Altérer les ventes de table
Ajouter un total_price comme prix * quantité;

La requête ci-dessus crée une nouvelle colonne basée sur la valeur des colonnes de prix *. Nous pouvons interroger le nouveau tableau comme:

Sélectionner * dans les ventes;

Le tableau résultant est comme indiqué:

Remarquez la valeur de la colonne Total_price est basée sur les valeurs des colonnes de prix et de quantité.

Une fois que nous mettons à jour les valeurs sur l'une ou l'autre colonne, la valeur de la colonne calculée reflète les modifications comme indiqué:

Mettre à jour la quantité d'ensemble de ventes = 200
Où id = 3;

La requête ci-dessus met à jour la quantité de la ligne numéro 3 à 200.

Si nous interrogeons à nouveau les données, nous devrions voir le Total_Price mis à jour pour refléter les modifications comme:

Sélectionner * dans les ventes;

Pour créer un calculé pendant la création de table, nous pouvons spécifier la colonne en utilisant le mot-clé AS suivi par la formule à utiliser pour calculer l'ensemble résultant.

Ventes de table de dépôt;
-- Recréez des données d'échantillons de table et réinsérer avec une nouvelle colonne calculée
Créer des ventes de tables (
ID INT Identité (1,1) Pas de clé primaire nul,
Product_name Varchar (50),
prix,
quantité int,
Total_price comme prix * Quantité
));

Cela recréera la table avec la nouvelle colonne calculée.

Créer une colonne calculée: SSMS

Vous pouvez également créer une colonne calculée à l'aide du studio de gestion SQL Server. Dans Object Explorer, développez à droite votre base de données cible -> Tables -> Colonnes -> Nouvelle colonne.

Entrez le nom de la colonne et le type de données accepté.

Développez l'onglet Propriétés de la colonne et sélectionnez Spécifications de la colonne calculée. Définissez la formule de la colonne comme indiqué:

Pour appliquer les modifications, sélectionnez la barre d'outils principale et cliquez sur l'icône de sauvegarde:

Colonnes calculées persistantes

Si vous souhaitez stocker physiquement les valeurs d'une colonne calculée, vous pouvez ajouter la propriété persistante pendant la création de colonnes.

Par exemple, la requête ci-dessous ajoute une colonne calculée persistante pour calculer la taxe des produits.

Alter les ventes de table Ajouter une taxe en tant que (1.6 * Quantité * Prix) a persisté;

Le tableau résultant est comme indiqué:

Remarque, vous ne pouvez pas utiliser la valeur d'une autre colonne calculée dans une colonne calculée. Par exemple, si vous essayez de définir la valeur de la colonne fiscale comme 1.6 * Total_price, SQL Server renverra une erreur.

Afficher les colonnes calculées: T-SQL

Pour afficher des colonnes calculées dans une base de données spécifique, utilisez la requête comme indiqué ci-dessous:

Sélectionner * dans SYS.calculé_columns;

La requête doit renvoyer les détails des colonnes calculées dans la base de données sélectionnée.

Conclusion

Dans cet article, vous avez compris comment créer et utiliser des colonnes calculées dans SQL Server. Vérifiez la documentation pour en savoir plus.