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
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises
- Les projets d’intégration augmentent la charge de travail des services IT
- 9 défis de transformation digitale !
- 10 grandes tendances Business Intelligence
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
Les plus consultés sur iTPro.fr
- Deepfakes : la France dans le top 10 des pays les plus touchés par les fraudes
- Comment se démarquer avec l’IA quand elle doit devenir la norme
- Attaques IA : un Active Directory peut être compromis en 40 minutes
- L’application jetable, le piège de l’IA générative
Articles les + lus
Rançongiciels et IA : les attaques gagnent en efficacité en ciblant l’humain
Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
Deepfakes : la France dans le top 10 des pays les plus touchés par les fraudes
Cybersécurité : les entreprises françaises réclament un durcissement inédit de la réglementation
Cyber risques et IA : 78% des RSSI pointent une déconnexion inquiétante des dirigeants
À la une de la chaîne Data
- Rançongiciels et IA : les attaques gagnent en efficacité en ciblant l’humain
- Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
- Deepfakes : la France dans le top 10 des pays les plus touchés par les fraudes
- Cybersécurité : les entreprises françaises réclament un durcissement inédit de la réglementation
- Cyber risques et IA : 78% des RSSI pointent une déconnexion inquiétante des dirigeants
