J'ai une base de données de type arbre avec la structure suivante:SQL avec clause dynamique où le paramètre
Tableau champs:
NodeID int
ParentID int
Name varchar(40)
TreeLevel int
Je voudrais utiliser une @NodeID
variable dans la première partie de la avec clause de ne pas obtenir toute la table juste commencer à partir de la pièce qui m'intéresse (voir où [email protected]
et commenter).
with RecursionTest (NodeID,ParentID,ThemeName)
as
(
--if i remove the where from here it spends too much time (the tree is big)--
select Nodeid,ParentID,Name from TreeTable where [email protected]
union all
select T0.Nodeid,
T0.ParentID,
T0.Name
from
TreeTable T0
inner join RecursionTest as R on T0.ParentID = R.NodeID
)
select * from RecursionTest
Cela jette quelques erreurs, mais ma question est la suivante:
- est possible de passer une variable à une à la clause?
Merci beaucoup d'avance.
Cordialement.
Jose
Merci, je vois que la clé est de terminer avec « ; » avant la clause with. – Sosi
Ah oui. C'est l'un des seuls endroits où les points-virgules sont requis. –
+1 Bonne réponse ... – kevchadders