Bonjour,
J'ai un logiciel d'édition d'étiquette qui me permet d'aller piocher des info dans une base de donnée.
Ce logiciel s'appelle Codesoft et la base de données est issue d'une base hyperfile.
Mon problème:
Je souhaiterais faire une requête SQL qui me permettrais de lire les x derniers enregistrements et ce sans lire le reste de la table.
Pourquoi? Ma base se trouve sur un serveur distant et la table comporte pas loin de 60 000 enregistrements. Lors de la lecture complete, j'ai forcement un time out !
Precision : ma table s'appelle AFFAIRE et le champ qui m'interresse s'appelle NAF
J'ai testé avec ça :
Le "LIMIT" n'est pas reconnu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT AFFAIRE.NAF FROM AFFAIRE ORDER BY NAF DESC LIMITE 1
Pour esquiver, j'ai tenté ça:
Ca marche sur un fichier qui est sur mon disque dur mais le fichier est quand même lu en entier donc sur le serveur ça ne fonctionne pas, j'ai un message d'erreur qui dit "Erreur de définition de la requête"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT AFFAIRE.NAF FROM AFFAIRE WHERE NAF BETWEEN 55000 and 56000
Ce qu'il faudrait c'est donc une fonction qui permettrait de lire UNIQUEMENT les 1000 derniers enregistrements.
Après quelques recherches sur le net j'ai trouvé ça
Là j'ai l'impression que le fichier n'est pas lu en entier. Ca fonctionne très bien sur mon disque local mais rebelotte j'ai le message d'erreur : "Erreur de définition de la requête" quand j'essaye sur le serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT AFFAIRE.NAF FROM AFFAIRE WHERE NAF>55000
Quelqu'un aurait-il une idée???
Je vous remercie d'avance!!!
Partager