Noto con piacere che in SQL Server 2005 vengono ignorati i criteri di ordinamento introdotti nelle viste (e nelle subquery) anche laddove si sia utilizzato l'artificio di utilizzare la clausola TOP 100 PERCENT. Facendo seguito a quanto già espresso in questo messaggio
http://blogs.aspitalia.com/lucabianchi/post1012/VisteTOP100PERCENTORDERBY.aspx
e ribadendo ancora una volta l'assoluta inutilità di uno stratagemma simile che può costringere SQL Server ad ordinare 2 volte i dati, potete testare il comportamento in SQL Server 2005 utilizzando il seguente codice di esempio
USE tempdb
GO
CREATE TABLE dbo.MyTable
(
ID smallint not null,
Nome varchar(10) not null
)
GO
INSERT dbo.MyTable VALUES (1, 'Luca')
INSERT dbo.MyTable VALUES (2, 'Lorenzo')
INSERT dbo.MyTable VALUES (3, 'Andrea')
INSERT dbo.MyTable VALUES (4, 'Gianluca')
INSERT dbo.MyTable VALUES (5, 'Daniele')
GO
CREATE VIEW dbo.vw_MyTable
AS
SELECT TOP 100 PERCENT ID, Nome
FROM dbo.MyTable
ORDER BY Nome
GO
SELECT * FROM dbo.vw_MyTable
GO
è possibile vedere che la query sulla vista non produce l'ordinamento introdotto in maniera impropria...
Sarà forse la volta buona per far fare pulizia a coloro che ancora utilizzano questa pratica alquanto deprecabile.
Bye
Basta mettere:
top (99.9) percent
Buon lavoro
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download 
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
Sante parole!
E purtroppo molto spesso rimangono tali...
Magari fossero questi i miei problemi!
Pur essendo uno sviluppatore e, probabilmente, poco attento alle problematiche inerenti un db, vedo delle cose che mi fanno passare la voglia di programmare...
Continua »»» | Rispondi »»»