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

État des lieux de la sécurité cloud-native
L’État des lieux de la sécurité cloud-native vous offre une analyse complète des problématiques, des tendances et des priorités qui sous-tendent les pratiques de sécurité cloud-native dans le monde entier. Une lecture indispensable pour renforcer votre stratégie de sécurité dans le cloud. Une mine d’infos exclusives pour élaborer votre stratégie de sécurité cloud-native.
Les articles les plus consultés
- Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises
- 10 grandes tendances Business Intelligence
- Databricks lève 1 milliard de dollars !
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
- Les projets d’intégration augmentent la charge de travail des services IT
Les plus consultés sur iTPro.fr
- L’informatique quantique redéfinit-elle les codes de la cybersécurité ?
- Adopter l’IA augmenterait le PIB mondial à l’horizon 2035
- Renouvellement des certificats SSL tous les 45 jours : une mise en œuvre impossible sans automatisation ?
- Palo Alto Networks s’engage sur la cyber solidarité
- Recrudescence des cyberattaques pilotées par l’IA
Sur le même sujet

Les projets d’intégration augmentent la charge de travail des services IT

10 grandes tendances Business Intelligence

Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises

ActiveViam fait travailler les data scientists et les décideurs métiers ensemble

La blockchain en pratique
