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
Sécuriser votre système d’impression
Longtemps sous-estimée, la sécurisation d’un système d’impression d’entreprise doit être pleinement prise en compte afin de limiter le risque de fuite d’informations sensibles. Voici les 3 principales précautions à prendre.
Les articles les plus consultés
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
- La blockchain en pratique
- Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises
- Databricks lève 1 milliard de dollars !
- Dark Web : où sont vos données dérobées ?
Les plus consultés sur iTPro.fr
- Défis et bénéfices d’infuser l’IA dans l’analytique et la BI
- Mieux protéger l’entreprise à l’ère du travail hybride et du Cloud
- Les entreprises concentrent les investissements sur l’innovation, l’efficacité et la résilience
- L’IA profite au marché du mobile !
- La législation européenne sur l’IA entre en vigueur. Comment s’y préparer au mieux ?