Pregunta

He creado una vista sencilla que consta de 3 tablas en SQL.

Por hacer clic derecho y seleccionar de diseño, en la mesa de exploración de objetos, he modificado mi vista personalizada. Acabo de añadir SortBy asc en un campo.

El problema es que los cambios no se reflejan en el outout de la Vista. Después de guardar la vista, y seleccionando abrir la vista el tipo no aparece en la salida.

Entonces, ¿qué está pasando aquí?

¿Fue útil?

Solución

Técnicamente, es posible hornear clasificación en un VIEW pero no es nada recomendable. En su lugar, se debe aplicar una especie mientras que la selección de la vista de esta manera:

Select ...
From MyView
Order By SortByCol ASC

Si realmente quería saber (pero de nuevo, yo recomendaría fuertemente contra esta), puede utilizar el comando TOP para moverse por la limitación de la ordenación en la vista:

Select TOP 100 PERCENT * Col1, Col2....
From Table1
Order By SortByCol ASC

Otros consejos

Parece:

Hay una restricción en las cláusulas SELECT en una definición de la vista en SQL Server 2000, SQL Server 2005 y SQL 2008. Una sentencia CREATE VIEW no puede incluir la cláusula ORDER BY, a menos que haya también una cláusula TOP en la lista de selección de la SELECT declaración. La cláusula ORDER BY sólo se utiliza para determinar las filas devueltas por la cláusula TOP en la definición de vista. La cláusula ORDER BY no garantiza resultados ordena cuando se consulta la vista, a menos que ORDER BY también se especifica en la propia consulta.

También hay una revisión que hay que aplicar. Después de que usted debe utilizar la parte superior 100% para asegurarse de que el orden por las obras.

HTH

En general , Vistas no se puede resolver el problema.

(como han mencionado otros, hay un truco para hacerlo, pero dado que está utilizando un diseñador visual de consultas en lugar de escribir su definición de la vista en SQL, es probablemente difícil de poner en práctica esa corte.)

No realmente "modificar" su punto de vista, sólo se cambió la instrucción SELECT que EM estaba usando para seleccionar de su punto de vista. parámetros de clases no se conservan en la definición de vista.

Cuando se cierra la pestaña, EM no recuerda su preferencia de clasificación de ese punto de vista, por lo que cuando se abre la vista de nuevo, se trata en el orden que decide SQL Server.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top