Comment sélectionner seulement 1 ligne d'oracle sql?

Je veux utiliser oracle syntaxe pour sélectionner seulement 1 rangée de table DUAL. Par exemple, je veux exécuter cette requête:

SELECT user 
  FROM DUAL

...et qu'il faudrait, comme, 40 dossiers. Mais j'ai besoin d'un seul enregistrement. ...ET, je veux le faire se produire sans une WHERE clause.

J'ai besoin de quelque chose dans le champ table_name tels que:

SELECT FirstRow(user) 
  FROM DUAL
  • Quelle version d'Oracle? À l'aide de ROWNUM ou ROW_NUMBER (9i+) signifie avoir besoin d'une clause where
  • Avez-vous le nom d'une table dual ?
  • dual est le tableau du système oracle
  • Exactement. Donc, quelqu'un peut-il créer un autre avec le même nom?
  • pas de. le dual tableau une user colonne, si. Le "pas de clause where" contrainte semble... artificiel? Pourquoi diable non?
  • ROWNUM(9i+) , avez-vous une réponse?
  • vous ne devriez vraiment pas créer une table appelée DUAL. C'est un peu comme #define TRUE 0 en C - bien sûr, il pourrait travailler pour vous, mais les développeurs vous hais.
  • Avez-vous vraiment essayé d'exécuter select user from dual? Si non, s'il vous plaît essayer, et voir ce que vous obtenez. Sur un système oracle, vous allez obtenir l'utilisateur que vous êtes l'exécution de la commande.
  • double possible de Comment faire top 1 dans Oracle?
  • Vieille question, mais je vais voter pour fermer peu claire. DUAL a qu'une seule ligne. Si vous avez deux lignes ou d'une autre table appelée dual ou vous fait une autre table, alors que les changements de la question.

InformationsquelleAutor Ben | 2012-01-19