T-SQL de Microsoft est une version améliorée d'ANSI-SQL standard. Elle contribuera à améliorer les performances.
Supposons, par exemple, que l'on veuille mettre tous les produits en vente et fonder le prix de vente de chaque produit sur la quantité vendue l'année précédente. On veut réduire le prix de vente de
25 % par rapport au prix courant pour les produits dont il s’est vendu moins de 3.000 unités ; cette réduction doit être de 20 % pour les produits vendus entre 3.000 et 10.000 unités ; et on veut une remise de 10 % pour les produits vendus à plus de 10.000 unités. A première vue, il semble nécessaire d’émettre une instruction UPDATE avec les valeurs de remise appropriées après avoir utilisé un curseur pour trouver les renseignements sur la quantité vendue dans chaque ligne de produit. Or il se trouve que l’expression T-SQL CASE permet d’utiliser une instruction pour calculer les remises appropriées.
L’exemple d’instruction UPDATE suivante utilise la table des titres de la base de données publicitaire, qui présente un champ price (prix) que l’instruction mettra à jour et un champ ytd_sales (ventes cumulées pour l’année) qui stocke la quantité de ventes annuelles à ce jour. (Si l’on a déjà exécuté l’exemple d’instruction du Tip 5, cette requête ne fonctionnera pas ; l’exemple aura mis à jour ytd_sales avec un jeu de valeurs différentes.)
UPDATE titles
SET price = CASE
WHEN ytd_sales < 3000 THEN
price * 0.75
WHEN ytd_sales between 3000
and 10000 THEN price * 0.80
WHEN ytd_sales > 10000 THEN
price * 0.90
END
WHERE price IS NOT NULL
Il existe d’autres fonctions T-SQL qui améliorent les performances des requêtes : l’expression TOP, quand on l’utilise avec ORDER BY, les vues indexées (SQL Server 2000 seulement), et les vues partitionnées.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.