Это разновидность Common Table Expressions Синтаксис описан в доках с FB 2.1
Очень полезная конструкция, которая позволяет построить дерево по таблице со структурой типа Id, ParentId одним запросом Также она позволяет дерево склонировать за раз без всяких временных таблиц. На практике это SELECT, только с более сложным синтаксисом. Может быть использована в цикле FOR Я знаю/знал с ними две проблемы: 1) невозможно эффективно ограничить глубину рекурсии 2) иногда неправильно работает (я недавно писал владу об этом) 3) не работала AS CURSOR / WHERE CURRENT OF Пример синтаксиса для таблицы Tree (Id, ParentId): WITH RECURSIVE Recursion ( SELECT Id, ParentId FROM Tree WHERE ParentId IS NULL UNION ALL SELECT T.Id, T.ParentId FROM Tree T, Recursion R WHERE T.ParentId = R.Id ) SELECT Id FROM Recursion;