J'ai essayé d'utiliser OPTION (MAXRECURSION 0)
en vue de générer une liste de dates. Cela semble être non pris en charge. Y a-t-il une solution de contournement pour ce problème?Puis-je utiliser la récursivité dans une vue Sql Server 2005?
EDIT pour expliquer ce que je veux vraiment faire:
J'ai 2 tables.
Tableau 1: semaine int, bool disponible
table2: Date datetime, bool disponible
Je veux le résultat: view1: Date (ici tous les jours de cette année), disponible (de table2 ou de table1 lorsqu'elle n'est pas dans la table2).
Cela signifie que je dois appliquer une jointure à une date avec un jour de la semaine. J'espère que cette explication est compréhensible, parce que je l'utilise en fait plus des tables avec plus de champs dans la requête.
J'ai trouvé ce code pour générer la récursion:
WITH Dates AS
(
SELECT cast('2008-01-01' as datetime) Date
UNION ALL
SELECT Date + 1
FROM Dates
WHERE Date + 1 < DATEADD(yy, 1, GETDATE())
)
J'ai résolu le problème en créant une table supplémentaire dans la base de données avec la date et l'dayofweek sous forme de colonnes. J'ai mis le bug à 2037 millenium pour le prochain développeur à ce moment-là ... Ce – Paco