Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso dichiarare la variabile scalare in una VIEW in Sql Server (2005)

Come ha menzionato Alex K, dovresti scriverlo come una funzione con valori di tabella inline. Ecco l'articolo che lo descrive.

In breve, la sintassi sarebbe qualcosa di simile a

CREATE FUNCTION dbo.GetForPeriod
    ( @StartDate datetime, @EndDate datetime) 
RETURNS TABLE 
RETURN 
   SELECT  [[ your column list ]]
   FROM    [[ table list]
   WHERE   [[some column] BETWEEN @StartDate AND @EndDate

Puoi avere una query selezionata (per quanto complessa, puoi utilizzare CTE). E poi lo userai come

SELECT * FROM dbo.GetForPeriod('1-Jan-2010', '31-Jan-2010')