Domanda

Ho creato una visione semplice che consiste di 3 tavoli in SQL.

Cliccando con il tasto destro e selezionando design, nella tabella Esplora oggetti, ho modificato la mia vista personalizzata. Ho appena aggiunto sortby asc in un campo.

Il problema è che le modifiche non si riflettono nel outout della vista. Dopo aver salvato la vista, e selezionando vista l'ordinamento non viene visualizzato in uscita.

Allora, cosa sta succedendo qui?

È stato utile?

Soluzione

Tecnicamente, è possibile cuocere l'ordinamento in un VIEW ma è altamente sconsigliato. Invece, si dovrebbe applicare sorta durante la selezione dalla vista in questo modo:

Select ...
From MyView
Order By SortByCol ASC

Se si voleva davvero conoscere (ma ancora una volta, io consiglio vivamente contro questo), è possibile utilizzare il comando TOP per aggirare la limitazione di smistamento nella vista:

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

Altri suggerimenti

Sembra:

C'è una limitazione delle clausole SELECT nella definizione di una vista in SQL Server 2000, SQL Server 2005 e SQL 2008. Un CREATE VIEW non può includere la clausola ORDER BY, a meno che non ci sia anche una clausola TOP nella lista selezionata di SELECT dichiarazione. ORDER BY viene utilizzato solo per determinare le righe restituite dalla clausola TOP nella definizione della vista. La clausola ORDER BY non garantisce ordinato risultati quando la vista viene interrogato, a meno che ORDER BY è specificato anche nella query stessa.

C'è anche un aggiornamento rapido che deve essere applicato. Dopo di che si dovrebbe usare Top 100% per assicurarsi che l'ordine per le opere.

HTH

In generale , Vista non può essere ordinato.

(Come altri hanno detto, c'è un trucco per farlo, ma dal momento che si sta utilizzando un designer visivo di domanda piuttosto che scrivere la vostra definizione di vista in SQL, è probabilmente difficile da realizzare che mod.)

Non hai in realtà "modificare" la vista, è stata modificata solo l'istruzione SELECT che EM stava usando per selezionare da il tuo punto di vista. impostazioni di ordinamento non vengono mantenute nella definizione della vista.

Quando si chiude la scheda, EM non ricorda la preferenza di ordinamento per quella vista, in modo che quando si apre nuovamente la vista, si esce in qualsiasi ordine di SQL Server decide.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top