Syntaxe incorrecte près du mot clé 'avec'. Si cette instruction est une expression de table commune

create table #temp
(
  pName Varchar(20),
  DateBegin DateTime,
  DateEnd DateTime
)

Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player1', '01/04/2012', '01/05/2012')

Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player2', '02/01/2012', '02/05/2012')


With DateRange(dt) As
(
    Select Convert(Datetime, '01/01/2012')
    UNion All
    Select DateAdd(dd, 1, Dat.dt) From DateRange Dat Where Dat.dt < CONVERT(Datetime, '01/31/2012')
)

Select T.pName, Dt.dt from #temp T
Inner Join DateRange Dt on Dt.dt BETWEEN T.DateBegin and T.DateEnd

Drop Table #temp

Problème avec cette ligne de code suivante

With DateRange(dt) As

Il affiche message d'erreur suivant

Syntaxe incorrecte près du mot clé 'avec'. Si cette déclaration est une
expression de table commune, un xmlnamespaces clause ou d'un suivi des modifications
contexte de la clause, la déclaration doit être dénoncé avec un
point-virgule.

OriginalL'auteur Nilish | 2012-05-29