Question

Cette question devait juste être dans ce site:)

ORDER BY est interdit d'utiliser dans une vue, comme je l'ai compris en raison de la possibilité de commande multiple par ce lors de l'utilisation ce point de vue.

Je sais qu'il ya des moyens de contourner cette limitation, par exemple TOP 99.999999 PERCENT, mais je voudrais savoir quelle est la meilleure pratique, pas comment pirater.

Alors, si je veux créer des vues dans ma base de données pour un usage personnel, ce qui signifie que je veux me connecter à la base de données et voir juste les données fixes et triées, comment dois-je faire si je ne peux pas commander une vue?

À l'heure actuelle dans mon DB SQL Server J'ai vues avec le hack TOP, et je les utilise beaucoup, mais il se sent mal.

Était-ce utile?

La solution

Il n'y a pas une telle chose comme une vue « ordonnée » parce qu'une vue est censé être un ensemble de lignes. Utilisez une procédure stockée si vous voulez un ordre fixe.

Autres conseils

uniquement ORDER BY externe commande sera garantie

  • Tous PAR ORDRE intermédiaire ou interne est ignorée.
    Cela inclut ORDER BY dans une vue
  • Il n'y a pas d'ordre implicite dans une table
  • Il n'y a pas d'ordre implicite sur la table de tout index (cluster ou non)

Liens

  

ORDER BY garantit un résultat que pour la Sorted instruction SELECT externe d'une requête. Par exemple, considérez la définition de vue suivant: (et suivi exemple qui correspond à cette question)

Ajouter une ORDER BY à la sortie du i.e. vue.

  SELECT whatever FROM MYVIEW ORDER BY whatever
Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top