Générer la hiérarchie d'une donnée dans une table récursive SQL

Publié le 02 juin 2009 par Dave Lizotte
Vous avez déjà rencontré des tables récursives en SQL ? C'est-à-dire, des tables qui pointent sur elle-même! Pour parcourir ce genre de table, il ne suffit pas d'un simple SELECT. Il vous faut un peu plus! Il existe quelques manières différentes afin de parcourir l'"arbre" de cette table.
  Voyons une de ces méthodes. Tout d'abord pour parcourir votre arbre, il vous faut un point de départ au processus de récursion. Cela doit se faire avec 2 requêtes liées. La 1re requête indique où l'on doit commencer et la seconde où l'on doit se rendre ensuite. Ces 2 requêtes doivent être jointes par l'opérateur UNION ALL. Par la suite, il vous faudra effectuer une corrélation entre l'expression de requête CTE et le code SQL en référençant l'alias de requête à l'intérieur du code SQL exprimant la CTE.