Viste: TOP 100 PERCENT e ORDER BY in SQL Server 2005

di Luca Bianchi, in SQL Server,

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

https://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

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese