Pregunta

Esta pregunta sólo tenía que estar en este sitio:)

ORDER BY esté prohibido su uso en una vista, que he entendido debido a la posibilidad para la orden múltiple por de cuando se utiliza este punto de vista.

Sé que hay maneras de eludir esta limitación, por ejemplo TOP 99.999999 PERCENT, pero me gustaría saber cuál es la mejor práctica, no la forma de entrar ilegalmente en él.

Por lo tanto, si quiero crear vistas en mi base de datos para uso personal, lo que significa que quiero para conectarse a la base de datos y solo ver los datos fijos y ordenados, ¿cómo debo hacerlo si no puedo pedir una vista

Actualmente en mi SQL Server DB tengo puntos de vista con el hack TOP, y las estoy usando mucho, pero se siente mal.

¿Fue útil?

Solución

No hay tal cosa como una visión "ordenada" porque un punto de vista se supone que es un conjunto de filas. Utilizar un procedimiento almacenado si quieres un ordenamiento fijo.

Otros consejos

Sólo la orden externa por orden garantías voluntad

  • Cualquier POR ORDEN intermedia o interna se ignora.
    Esto incluye ORDER BY en una vista
  • No hay un orden implícito en cualquier mesa
  • No hay un orden implícito de cualquier índice (agrupado o no) en esa mesa

Enlaces

ORDER BY garantiza un resultado ordenado solamente para la instrucción SELECT más externa de una consulta. Por ejemplo, considere la siguiente definición de vista: (y el ejemplo seguimiento que coincide con esta pregunta)

Añadir un ORDER BY a la salida de la vista es decir.

  SELECT whatever FROM MYVIEW ORDER BY whatever
Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top