Je dois "remonter" sur 5 colonnes des données se trouvant dans des
lignes d'une table (ce sont des données liées à une table client). Dans
cette table, j'ai donc la clé du client, un numéro de donnée et la
donnée elle même.
Je pensais faire une fonction prenant la clé du client en paramètre et
retournant une table de 5 colonnes contenant les valeurs des lignes
numérotées de 1 à 5.
Dans la fonction, qu'est ce qui est plus efficace pour transformer les
données :
- un curseur qui parcours les lignes du client pour dispatcher chaque
fois la valeur dans une variable
- 5 requêtes ramenant chacune la bonne valeur (bien sûr, tout est indexé
au mieux)
J'ai toujours entendu dire que les curseurs ne sont pas efficaces.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe T [MS]
Bonjour,
Pour 5 valeurs, ce n'est pas très grave. Sql fonctionne mieux en ensembliste qu'en curseur mais dans un cas ou vous êtes obligé de travailler unitairement cela n'a pas réellement d'importance.
Si vous utilisez un curseur, ajouter la clause FAST_FORWARD au niveau de la déclaration du curseur.
Pouvez vous nous montrer un exemple de ce que vous faites voir si l'on ne peut pas faire cela directement avec une requête ensembliste ?
Phil. ________________________________________________________ Philippe TROTIN Microsoft Services France http://www.microsoft.com/france "ftrl" wrote in message news:450e95bd$0$27223$
Bonjour,
Je dois "remonter" sur 5 colonnes des données se trouvant dans des lignes d'une table (ce sont des données liées à une table client). Dans cette table, j'ai donc la clé du client, un numéro de donnée et la donnée elle même.
Je pensais faire une fonction prenant la clé du client en paramètre et retournant une table de 5 colonnes contenant les valeurs des lignes numérotées de 1 à 5.
Dans la fonction, qu'est ce qui est plus efficace pour transformer les données : - un curseur qui parcours les lignes du client pour dispatcher chaque fois la valeur dans une variable - 5 requêtes ramenant chacune la bonne valeur (bien sûr, tout est indexé au mieux)
J'ai toujours entendu dire que les curseurs ne sont pas efficaces.
Merci.
Jean
Bonjour,
Pour 5 valeurs, ce n'est pas très grave. Sql fonctionne mieux en ensembliste
qu'en curseur mais dans un cas ou vous êtes obligé de travailler
unitairement cela n'a pas réellement d'importance.
Si vous utilisez un curseur, ajouter la clause FAST_FORWARD au niveau de la
déclaration du curseur.
Pouvez vous nous montrer un exemple de ce que vous faites voir si l'on ne
peut pas faire cela directement avec une requête ensembliste ?
Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"ftrl" <lacoste@alussinan.org> wrote in message
news:450e95bd$0$27223$636a55ce@news.free.fr...
Bonjour,
Je dois "remonter" sur 5 colonnes des données se trouvant dans des lignes
d'une table (ce sont des données liées à une table client). Dans cette
table, j'ai donc la clé du client, un numéro de donnée et la donnée elle
même.
Je pensais faire une fonction prenant la clé du client en paramètre et
retournant une table de 5 colonnes contenant les valeurs des lignes
numérotées de 1 à 5.
Dans la fonction, qu'est ce qui est plus efficace pour transformer les
données :
- un curseur qui parcours les lignes du client pour dispatcher chaque fois
la valeur dans une variable
- 5 requêtes ramenant chacune la bonne valeur (bien sûr, tout est indexé
au mieux)
J'ai toujours entendu dire que les curseurs ne sont pas efficaces.
Pour 5 valeurs, ce n'est pas très grave. Sql fonctionne mieux en ensembliste qu'en curseur mais dans un cas ou vous êtes obligé de travailler unitairement cela n'a pas réellement d'importance.
Si vous utilisez un curseur, ajouter la clause FAST_FORWARD au niveau de la déclaration du curseur.
Pouvez vous nous montrer un exemple de ce que vous faites voir si l'on ne peut pas faire cela directement avec une requête ensembliste ?
Phil. ________________________________________________________ Philippe TROTIN Microsoft Services France http://www.microsoft.com/france "ftrl" wrote in message news:450e95bd$0$27223$
Bonjour,
Je dois "remonter" sur 5 colonnes des données se trouvant dans des lignes d'une table (ce sont des données liées à une table client). Dans cette table, j'ai donc la clé du client, un numéro de donnée et la donnée elle même.
Je pensais faire une fonction prenant la clé du client en paramètre et retournant une table de 5 colonnes contenant les valeurs des lignes numérotées de 1 à 5.
Dans la fonction, qu'est ce qui est plus efficace pour transformer les données : - un curseur qui parcours les lignes du client pour dispatcher chaque fois la valeur dans une variable - 5 requêtes ramenant chacune la bonne valeur (bien sûr, tout est indexé au mieux)
J'ai toujours entendu dire que les curseurs ne sont pas efficaces.