[Oracle] Sous requête contenant un ORDER BY (pagination)

Sous requête contenant un ORDER BY (pagination) [Oracle] - SQL/NoSQL - Programmation

Marsh Posté le 29-06-2007 à 11:25:02    

Bonjour.
 
Je travaille sur Oracle 8.0.0.5, et mes scripts conçus pour Oracle 8i ne fonctionnent plus (quelle bonne surprise  :fou:).
 
Je vous livre le code de la requête :
 

SELECT * FROM (SELECT * FROM MaTable ORDER BY id DESC) WHERE ROWNUM < 20;


 
Résultat:
 

ORA-00907 : Missing right parenthesis


 
Le problème semble venir de la clause ORDER BY car quand je l'enlève de la sous-requête, Oracle ne bronche plus. Oui mais du coup, ca ne fait plus ce que je veux  :pfff:  
 
Alors voilà, j'en appelle à vos compétences  :(  
 
Merci d'avance
 
Keph

Reply

Marsh Posté le 29-06-2007 à 11:25:02   

Reply

Marsh Posté le 29-06-2007 à 11:33:30    

essai de spécifier les champs dans ta sous requete (d'ailleurs si je comprends bien ta sous requete retourne un nom de table quis era réutilisé dans le SELECT FROM, donc tu ne dois pas avoir 15 000 champs à selectionner en sous requete...


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 29-06-2007 à 11:56:33    

Il semblerait en réalité que la clause ORDER BY, dans une sous-requête, ne soit disponible que depuis Oracle 8i.

Reply

Marsh Posté le 30-06-2007 à 15:09:39    

Effectivement, le order by dans une sous-requête est assez récent chez Oracle.
 
Sinon, tout de même, essaie d'aliaser ta sous-requête. Mais vu l'erreur, je ne crois pas que ça corrige quoi que ce soit.
 
Quelle idée aussi de travailler avec une aussi vieille version ? :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed