sql

sql递归函数的语法结构是怎样的

小樊
83
2024-08-28 08:53:47
栏目: 云计算

在 SQL 中,递归函数通常使用递归公共表表达式(Recursive Common Table Expressions,简称 CTE)来实现

WITH RECURSIVE cte_name (column1, column2, ..., columnN) AS (
    -- 基本查询(Base case)
    base_query
    
    UNION ALL
    
    -- 递归查询(Recursive case)
    recursive_query
)
SELECT * FROM cte_name;

其中:

下面是一个简单的递归 CTE 示例,用于计算阶乘:

WITH RECURSIVE factorial_cte (n, result) AS (
    -- 基本查询
    SELECT 0, 1
    
    UNION ALL
    
    -- 递归查询
    SELECT n + 1, result * (n + 1)
    FROM factorial_cte
    WHERE n < 5
)
SELECT * FROM factorial_cte;

这个查询将计算 0 到 5 的阶乘。

0
看了该问题的人还看了