Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2011, 18h22   #1
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Par défaut Requête pour afficher les résultats par lot

Bonsoir à tous

j'ai une table de plus de 75.000 enregistrements, lors de l’exécution je veux afficher par lot de 10.000.
Comme requête j'ai pensez a la fonction FIRST et SKIP,

Code :
1
2
3
4
 
SELECT FIRST 10000 SKIP 1 Champ1, Champ2,champ5, projetcode
FROM MESINFORMATIONS
WHERE projetcode=57
Le soucis est que je ne sait pas si une fonction existant me permet a chaque fois d'afficher les 10.000 suivantes où il faut que je le fasse par programmation.
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 11h09   #2
Membre chevronné
 
Philippe
Inscription : avril 2002
Messages : 451
Détails du profil
Informations personnelles :
Nom : Philippe
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 451
Points : 678
Points : 678
Envoyer un message via ICQ à Ph. B.
Bonjour,
Citation:
Envoyé par devalender Voir le message
j'ai une table de plus de 75.000 enregistrements, lors de l’exécution je veux afficher par lot de 10.000.
euh, 10000 lignes affichées, est ce bien raisonnable ?

Citation:
Envoyé par devalender Voir le message
Comme requête j'ai pensez a la fonction FIRST et SKIP,
Code :
1
2
3
4
 
SELECT FIRST 10000 SKIP 1 Champ1, Champ2,champ5, projetcode
FROM MESINFORMATIONS
WHERE projetcode=57
Le soucis est que je ne sait pas si une fonction existant me permet a chaque fois d'afficher les 10.000 suivantes où il faut que je le fasse par programmation.
Code sql :
1
2
3
4
5
6
7
8
-- Afficher les 5 premières lignes
SELECT FIRST 5 * FROM MA_TABLE;
-- Pour afficher les 5 suivantes
SELECT FIRST 5 SKIP 5 * FROM MA_TABLE;
-- Pour afficher les 21 à 25 premières lignes
SELECT FIRST 5 SKIP 20 * FROM MA_TABLE
-- S'il s'agit de Firebird 2.1 et ultérieur, tu peux aussi écrire
SELECT * FROM MA_TABLE ROWS 21 TO 25;
Après cela se passe par programmation. Tu transactionnes le tout pour maintenir la cohérence entre le 1° appel et le n ème...
--
Philippe.
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 12h19   #3
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Merçi pour ce chemin,
il se trouve que j'ai encore un autre problème,
voici la requête:

Code :
1
2
 
SELECT * FROM MESINFORMATIONS ROWS 1 TO 400
ou
Code :
1
2
 
SELECT FIRST 400 SKIP 1 * FROM MESINFORMATIONS
En effet il me ramène bien les données, ayant une clé auto incrémenté comme clé primaire, on peut suivre l'ordre d'affichage des données,
mais à des endroits j'ai ceci comme resultat :
Code :
1
2
3
4
5
6
7
8
9
10
11
12

lacle
1
2
3
4
54
5
6
35
7
54 et 35 n'ont pas leur place la !!
Où ai je péché ?
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 14h02   #4
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 213
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 213
Points : 3 315
Points : 3 315
sans order by cela n'a pas de sens
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 15h26   #5
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Effectivement !
Merçi
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h42.


 
 
 
 
Partenaires

Hébergement Web