Truy vấn phân cấp và đệ quy trong SQL Server
Jasmin Ludolf
Content Developer
Thành phần
Giả mã:

Định nghĩa đệ quy:
number = 1 khi iteration = 1,
number = number + 1 khi iteration > 1
điều kiện dừng: number < 4
Giả mã:
WITH recursion AS (
SELECT
-- Initial query
number = 1
UNION ALL
SELECT
-- Recursive query
number = number + 1
FROM numbers
-- Termination condition
WHERE number < 4)
-- Statement on CTE
SELECT * FROM recursion;
-- Final iteration
1+1+1+1 = 4
Định nghĩa đệ quy:
number = 1 khi iteration = 1
number = number + iteration^iteration khi iteration > 1
Giả mã
WITH recursion AS (
number = 1 -- Initial query
UNION ALL
number = number + iteration^iteration -- Recursive query
WHERE termination_condition)
SELECT * FROM recursion;
-- Ba vòng lặp
1 + 2^2 + 3^3 = 32
Truy vấn phân cấp và đệ quy trong SQL Server