> Data > Réponses rapides

Réponses rapides

Data - Par iTPro.fr - Publié le 24 juin 2010
email

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

Travail à distance – Guide IT et Métiers

Travail à distance – Guide IT et Métiers

Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.

Data - Par iTPro.fr - Publié le 24 juin 2010