IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres SGBD Discussion :

[HSQLDB] problème avec un SELECT utilisant LIMIT


Sujet :

Autres SGBD

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [HSQLDB] problème avec un SELECT utilisant LIMIT
    Dans un petit outil d'expérimentation HSQLDB j'ai un problème ramené à priori aux lignes suivantes :

    try {
    Statement statement = connection.createStatement();
    String query = "SELECT * FROM "+'"'+ nomTable+ '"'+" LIMIT 2";
    ResultSet rs = statement.executeQuery(query);
    . . .
    } catch (Exception e) {
    sret += e.getMessage();
    }
    ____
    Tout fonctionne bien à priori en enlevant le : +" LIMIT 2"
    sinon, j'obtiens l'erreur :
    Unexpected token: 2 in statement [2]

    la version HSQLDB est : 1.8.0.4
    Y a-t-il un bug ? sinon dans quels cas l'utilisation de "LIMIT" est-elle possible ?
    Pour avoir le cas complet, voir mon projet Open Source en : http://gonic.lyon.free.fr/xor/testOpenSource.html
    et télécharger le : ../xor/essai/brouillamineur.jar
    ---
    Sinon, comment limiter le nombre de lignes consultées dans la table ?
    Merci d'avance !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 77
    Points
    77
    Par défaut
    Le mot clé limit n'existe pas dans le standard SQL. En fait c'est une feature de MySQL.

    Si tu veux avoir les 100 premières ligne il faut que tu rajoutes dans
    ta requête SQL

    "WHERE rownum <= 100"
    Mercenaire du code

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut et pour trier selon un critère qcq avant de faire la sélection
    Bonjour,

    Merci pour cette solution pour sélectionner les premiers enregistrements.

    Maintenant, j'ai un problème pour afficher les premiers enregistrements mais après avoir trié tous les enregistrements de la BD..

    Est ce que vous avez une solution sans utiliser les SELECT imbriqués ?

    Merci.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    ne manquerait-il pas un order by ?
    select * from mytable order by col limit 2

    ou tu peux faire un
    select top 2 * from mytable

    j'utilise la 1.8.0.7 et je n'ai pas de probleme...

  5. #5
    Membre VIP
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Grand sorcier
    Le mot clé limit n'existe pas dans le standard SQL. En fait c'est une feature de MySQL.

    ...
    Pour information, il y a maintenant un standard
    http://troels.arvin.dk/db/rdbms/#select-limit
    Non-core Feature ID T611 specifies window functions, of which one is ROW_NUMBER() OVER

    Un example:
    SELECT * FROM (
    SELECT
    ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
    columns
    FROM tablename
    ) AS foo
    WHERE rownumber <= n

    Francois Orsini
    http://blogs.sun.com/FrancoisOrsini/

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Points : 1 419
    Points
    1 419
    Par défaut
    on parle bien de HSQLDB ?

Discussions similaires

  1. problème avec une requete utilisant LIMIT
    Par kow_Ced dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/08/2006, 16h01
  2. [MySQL] Problème avec un SELECT
    Par glloq8 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 19/10/2005, 15h10
  3. []Problème avec un "Select Case" : Instructions et..
    Par Olun dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 07/09/2005, 13h32
  4. Problème avec un SELECT
    Par birkoss dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/08/2005, 19h04
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo