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 11/03/2005, 14h10   #1
Nouveau Membre du Club
 
Avatar de bambou
 
Inscription : mars 2004
Messages : 192
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mars 2004
Messages : 192
Points : 36
Points : 36
Envoyer un message via AIM à bambou Envoyer un message via MSN à bambou Envoyer un message via Skype™ à bambou
Par défaut Limiter le nombre d'enregistrement d'une requete

bonjour,
je développe une application qui accede à une base Firebird via ODBC. J'essaye de passer cette requete simple :
Code :
SELECT Champ1, Champ2,..., Champ n FROM MaTable WHERE Champ1 IS NOT NULL;
J'obtient l'erreur suivante : Zone Tampon trop petite. les données vont être tronquées.

Bah donc je me suis dit que je devais limiter le nombre d'enregistrements à traiter, j'ai donc modifier la requete pour celle ci :

Code :
SELECT Champ1, Champ2,..., Champ n FROM MaTable WHERE Champ1 IS NOT NULL LIMIT n,n + 5000;
l'erreur renvoyé est la suivante :
Code :
1
2
3
ADOManager.ExecSQL:ErrHandle N°-2147217900
 
[Simba][Simba ODBC Driver]SELECT DL_NO, AR_REF, CT_NUM, DL_DATEBC, DL_DATEBL, DL_DESIGN, DL_MONTANTHT, DL_QTE, DL_QTEBC, DL_QTEBL,DO_DATE, DO_DATELIVR ,DO_PIECE ,DO_REF ,DO_TYPE ,OT_NUM, POSTE_NUM_,QTE_LIVREE, QTE_REÇUE FROM F_DOCLIGNE WHERE AR_REF IS NOT NULL<< ??? >>, LIMIT 0, 5000;
Voila..je n'arrive pa avoir comment est-ce que je peut faire pour ne selectionner que les enregistrements compris entre l'enregistrement n et le n + 5000 par exemple?

merci a tous
@+
bambou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2005, 16h22   #2
Rédacteur
 
Inscription : janvier 2004
Messages : 2 123
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : janvier 2004
Messages : 2 123
Points : 1 977
Points : 1 977
Salut,

LIMIT ne fonctionne pas sous IB/FB, on doit utiliser FIRST :
Code :
1
2
 
SELECT FIRST 1000 Champ1, Champ2 .... FROM ....
PS : une petite recherche sur le forum t'aurais permis de trouver...
__________________
Ancien pseudo : yobenzen

Recherche un emploi de Chef de Projet ou Développeur en Normandie
Delphi/Oracle/Interbase
Migration vers symfony

CV :
- LinkedIn
- Viadeo
Benjamin GAGNEUX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2005, 14h10   #3
Nouveau Membre du Club
 
Avatar de bambou
 
Inscription : mars 2004
Messages : 192
Détails du profil
Informations personnelles :
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mars 2004
Messages : 192
Points : 36
Points : 36
Envoyer un message via AIM à bambou Envoyer un message via MSN à bambou Envoyer un message via Skype™ à bambou
lol merci, plus précisement c'est cette requete que je cherchait :
Code :
SELECT FIRST y SKIP x * FROM mytable;
qui selectionne les y enregistrements a partir du rang x

merci a toi yobenzen
@++
ps : j'avait fait une recherche sur le forum avant, quand meme! Mais je n'avait pas utilisé les bon mots clefs visiblement
bambou 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 18h38.


 
 
 
 
Partenaires

Hébergement Web