Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo
Sommaire > Bases de données > Interfaces de programmation (API) > Oracle
        Quel équivalent en SQL-ORACLE du LIMIT de MySQL ?
        Pourquoi mes requêtes SQL-ORACLE sont-elles automatiquement 'commitées' ?



Quel équivalent en SQL-ORACLE du LIMIT de MySQL ?
auteur : Cyberzoide
Il est pratique de paginer les résultats d'une requête. C'est possible en MySQL avec la clause LIMIT.

Sous SQL-ORACLE, il faut recourir à une sélection imbriquée. Le select intérieur est votre requête normale à laquelle on ajoute une colonne numérotant toutes les lignes de la sélection avec ROWNUM (il faut impérativement renommer cette colonne). Le select extérieur fait une projection sur toutes les colonnes (SELECT *) mais fait une sélection sur un intervalle (BETWEEN $start AND $end) de la colonne de numérotation (WHERE n).
SELECT * FROM(SELECT ..., ROWNUM AS n FROM ... WHERE ... )WHERE n BETWEEN $start AND $end;
Inconvénient : bien que l'on n'affiche qu'une portion des résultats, le temps d'exécution reste maximum.


Pourquoi mes requêtes SQL-ORACLE sont-elles automatiquement "commitées" ?
auteur : Cyberzoide
À la fin de chaque script PHP, Oracle (et non PHP) lance un COMMIT d'office sur votre base. Pour empêcher cela, il fait faire un ROLLBACK avant l'arrêt du script.



Consultez les autres F.A.Q.


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com