sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo declaro la variable escalar en una VISTA en Sql Server (2005)?

Como mencionó Alex K, debe escribirlo como una función de valor de tabla en línea. Aquí está el artículo que describe al respecto.

En resumen, la sintaxis sería algo como

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

Puede tener una consulta de selección (por compleja que sea, puede usar CTE). Y luego lo usarás como

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