Esta pregunta solo tenía que estar en este sitio :)
ORDER BY tiene prohibido su uso en una vista, como entendí debido a la posibilidad de múltiples órdenes by al usar esta vista.
Sé que hay formas de eludir esta limitación, por ejemplo TOP 99.999999 PERCENT
, pero me gustaría saber cuál es la mejor práctica, no cómo hackearla.
Entonces, si quiero crear vistas en mi base de datos para uso personal, lo que significa que quiero conectarme a la base de datos y solo ver los datos arreglados y ordenados, ¿cómo debo hacerlo si no puedo ordenar una vista?
Actualmente en mi SQL Server DB tengo vistas con el TOP
hack, y las estoy usando mucho, pero se siente mal.
sql-server
view
order-by
sangre amarilla
fuente
fuente
Respuestas:
No existe una vista "ordenada" porque se supone que una vista es un conjunto de filas. Use un procedimiento almacenado si desea un pedido fijo.
fuente
TOP
conORDER BY
, ahora está definiendo un nuevo conjunto ya que el orden afecta qué filas son "superiores"; Es por esoTOP
que le permite usarORDER BY
en una definición de vista.Solo el ORDER BY externo garantizará el pedido
Esto incluye ORDER BY en una vista
Enlaces
fuente
Agregue un ORDER BY a la salida de la vista, es decir
fuente