Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie deklariere ich die skalare Variable in einer ANSICHT in Sql Server (2005)

Wie Alex K erwähnt hat, sollten Sie es als Inline-Tabellenwertfunktion schreiben. Hier ist der Artikel das beschreibt es.

Kurz gesagt, die Syntax wäre so etwas wie

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

Sie können eine Auswahlabfrage haben (so komplex sie auch sein mag, sie kann CTE verwenden). Und dann verwenden Sie es als

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