SQL Server 的階層式與遞迴查詢
Jasmin Ludolf
Content Developer
組成
虛擬碼:

遞迴定義:
number = 1 for iteration = 1,
number = number +1 for iteration > 1
termination condition: number < 4
虛擬碼:
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
遞迴定義:
number = 1 for iteration = 1
number = number + iteration^iteration for iteration > 1
虛擬碼
WITH recursion AS (
number = 1 -- Initial query
UNION ALL
number = number + iteration^iteration -- Recursive query
WHERE termination_condition)
SELECT * FROM recursion;
-- Three iterations
1 + 2^2 + 3^3 = 32
SQL Server 的階層式與遞迴查詢