martedì 26 agosto 2008

Assegnare variabile da Select con SQLServer

A volte può essere utile salvare il risultato di una Select in una variabile, magari per poterla riutilizzare all'interno di un'altra Select senza dover annidare varie query.
Il comando per fare ciò è molto semplice:

DECLARE @variabile AS tipovariabile

SELECT @variabile = Campo FROM Tabella WHERE Condizione

Si devono solo seguire alcuni accorgimenti:
  • tipovariabile deve essere, ovviamente, dello stesso tipo dei dati contenuti in Campo
  • nel caso in cui la query restituisca più di una riga, la variabile conterrà il valore dell'ultima riga (questo è molto importante, in quanto se ad esempio si trattasse di date e volessimo memorizzare nella variabile la data più recente, effettuando un "ORDER BY Data DESC" otterremo l'effetto contrario in quanto memorizzando l'ultima riga ci troveremmo in realtà la data piu vecchia)
  • non si può usare la clausola TOP

Nessun commento: