Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment déclarer la variable scalaire dans une vue dans Sql Server (2005)

Comme Alex K l'a mentionné, vous devez l'écrire sous la forme d'une fonction de table en ligne. Voici l'article qui décrit à ce sujet.

En bref, la syntaxe serait quelque chose comme

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

Vous pouvez avoir une requête de sélection (aussi complexe soit-elle, vous pouvez utiliser CTE). Et puis vous l'utiliserez comme

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