WITH RECURSIVE

WITH RECURSIVE définit une CTE qui se référence elle-même : une partie d'ancrage fournit les lignes de départ, puis une partie récursive en produit de nouvelles à partir des précédentes, jusqu'à ce qu'il n'y en ait plus. Elle sert à générer des séries et à parcourir des hiérarchies. Une condition d'arrêt évite les boucles infinies.

Exemple

WITH RECURSIVE n(i) AS (
  SELECT 1 UNION ALL SELECT i + 1 FROM n WHERE i < 5
)
SELECT i FROM n;

Notions voisines

Tout le glossaire