Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Vistas con order by

Estas en el tema de Vistas con order by en el foro de SQL Server en Foros del Web. Alguien sabe por qué no puedo crear una vista de este tipo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original CREATE VIEW Production . ProductsBeverages AS SELECT ...
  #1 (permalink)  
Antiguo 24/04/2013, 22:59
 
Fecha de Ingreso: septiembre-2005
Mensajes: 74
Antigüedad: 18 años, 7 meses
Puntos: 0
Vistas con order by

Alguien sabe por qué no puedo crear una vista de este tipo:

Código SQL:
Ver original
  1. CREATE VIEW Production.ProductsBeverages AS
  2. SELECT
  3.     productid, productname, supplierid, unitprice, discontinued
  4. FROM Production.Products
  5. WHERE categoryid = 1
  6. ORDER BY productname;

Ese código genera el siguiente error:
Msg 1033, Level 15, State 1, Procedure ProductsBeverages, Line 6
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.

Alguien sabe cuál es la explicación, si le pongo un TOP(n) ahí sí que funciona...

Saludos

Última edición por gnzsoloyo; 25/04/2013 a las 00:11
  #2 (permalink)  
Antiguo 25/04/2013, 00:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Vistas con order by

¿Cómo qué explicación?
Lo que te dice el mensaje es bien clarito:
Cita:
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.
Es decir: "La cláusula ORDER BY no es válida en vistas, funciones en línea, tablas derivadas, subconsultas y expresiones comunes de tablas a menos que se especifique también TOP, OFFSET o FOR XML".

¿Más claro?

No se puede usar en VIEWs a menos que uses obligatoriamente alguna de esas otras clausulas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: funcion, group, select, vistas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:19.