giovedì 13 marzo 2008

WITH in SQL

Spesso in una query di SQL si ha bisogno di un risultato da utilizzare per varie operazioni.
Anzichè ricalcolare sempre tutto il risultato ogni volta si può utilizzare questa forma:
WITH tempTable(id,name)
as
(
select idUtente, NomeUtente from Utenti
where Affilizazione < @data
)

select * from tempTable.
....
....

Questa funzione è molto potente perchè riduce i tempi di elaborazione dello script.
Da ricordare che WITH deve essere preceduto da GO o dal punto e virgola (';') se prima di WITH c'è un'altra query.

Nessun commento: