par William R. Vaughn - Mis en ligne le 24/06/2003
Quand vous voulez consulter votre
base de données, vous commencez par
coder une instruction SELECT qui renverra
une ou plusieurs lignes - un ensemble de lignes - contenant la réponse
à votre question. Parfois, vous
voulez une information exhaustive,
mais parfois, une simple réponse par oui ou non. Si vous demandez « Y a-t-il des places disponibles sur le prochain
vol pour Cleveland ? », vous ne demandez
pas la liste de ces places - mais seulement
s'il y en a de disponibles. Dans
certains cas, vous voulez obtenir un
nombre en réponse à une requête.
Toujours dans notre exemple, vous
pourriez demander le nombre de
places libres sur cet avion pour
Cleveland, parce que vous voulez faire
voyager une équipe de football. Là encore,
une telle réponse n'a pas besoin
de SQL Server pour renvoyer un ensemble
de lignes. Bien entendu, ces requêtes
sont bien incapables de juger
de la pertinence d'aller à Cleveland : il
faudrait pour cela un système bien plus
sophistiqué que tout SGBD connu.
Réponses rapides

Aussi, quand vous voulez obtenir
des informations de SQL Server, vous
pouvez utiliser une requête SQL pour
renvoyer un paramètre OUTPUT ou un
entier RETURN – ou bien, vous pouvez
capturer la valeur RowsAffected en utilisant
une commande d’action. Les
commandes d’action sont simplement
des instructions SQL qui changent la base de données. UPDATE, INSERT et
DELETE en sont des exemples. Ces instructions
SQL modifient les lignes de la
base de données (sans pour autant
générer un ensemble de lignes) et renvoient une valeur RowsAffected qui
vous indique combien de lignes ont
été modifiées, ajoutées ou supprimées.
Vous pouvez utiliser cette valeur
pour vérifier que le bon nombre de lignes ont été modifiées. Certains développeurs
suppriment le retour de la
valeur RowsAffected en utilisant SET
NOCOUNT ON. La suppression de
cette valeur améliore légèrement la
performance et simplifie la gestion de
requêtes complexes. Mais vous devez
alors déterminer par vous-même si la
commande d’action a bien fait ce que
vous aviez demandé.
Indépendamment de l’interface
d’accès aux données que vous utilisez,
vous améliorerez la performance
de l’application si vous évitez la
construction d’ensembles de lignes
autant que possible. Dans ADO basé
sur COM, le renvoi d’ensembles de
lignes est particulièrement coûteux
et, dans ADO.NET, les ensembles de
lignes ralentissent la performance autant
que dans ADO. Pour éviter de
créer des ensembles de lignes, n’utilisez
pas l’instruction SELECT dans
votre requête SQL – même pour envoyer
une valeur scalaire – parce que
SELECT génère un ensemble de
lignes. Appelez plutôt une procédure
stockée qui renvoie un paramètre
OUTPUT ou ReturnValue, comme le
montrent les exemples suivants.
Téléchargez cette ressource

Rapport Forrester sur la sécurité des workloads cloud (CWS)
Dans son rapport, Forrester Consulting passe au crible et note les produits des 13 principaux fournisseurs de solutions de sécurité des workloads cloud (CWS). Bénéficiez d’un état des lieux complet du marché, explorez tous les enjeux associés à la convergence des fonctions de sécurité cloud et les avantages des solutions complètes.
Les articles les plus consultés
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
- L’utilisation des données pour survivre !
- La blockchain en pratique
- Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises
- Dark Web : où sont vos données dérobées ?
Les plus consultés sur iTPro.fr
- L’IA dans l’entreprise : questions et pratiques contemporaines
- Être une femme dans la tech en 2025 : comment prendre sa place et évoluer ?
- Les différents types de cyberattaques les plus répandues
- Bilan 2024 de la start-up Nation
- DORA, vecteur d’accélération de la transformation numérique des assureurs
