Иерархические и рекурсивные запросы в SQL Server
Jasmin Ludolf
Content Developer
Рекурсия — это использование процедуры, подпрограммы, функции или алгоритма, который вызывает сам себя один или несколько раз до выполнения заданного условия

Генеалогическое дерево — найти всех отцов за последние 5 поколений

Преимущества:
Недостатки:
Математическое определение
Сумма последовательных чисел определяется рекурсивно следующим образом:
number = 1
for iteration = 1
number = number + (iteration - 1)
for iteration > 1
Сумма чисел до 5 равна:
1+2+3+4+5 = 15
WITH calculate_SumOfNumber AS ( -- Initial Query SELECT 1 AS iteration, 1 AS SumOfNumberUNION ALL -- Recursive Part SELECT iteration + 1, SumOfNumber + (iteration + 1) FROM calculate_SumOfNumberWHERE iteration < 6 )SELECT SumOfNumber FROM calculate_SumOfNumber
Иерархические и рекурсивные запросы в SQL Server