You need to enable JavaScript to run this app. SQL Server 网络图节点循环计算与递归路径查询实现
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 网络图节点循环计算与递归路径查询实现

有向图场景下的SQL递归路径查询需求

基础表结构

通过两张关系表存储完整的有向网络图数据:

  • Nodes表:存储所有网络节点的信息,以节点唯一标识Id作为主键
  • Edges表:存储节点之间的有向连接关系,通过FromId标识边的起点节点、ToId标识边的终点节点,以此表达“从某节点指向另一节点”的有向关联

两张表的建表语句定义如下:

CREATE TABLE Nodes(
  Id VARCHAR(10) PRIMARY KEY,
  Name VARCHAR(50)
);

CREATE TABLE Edges(
  Id VARCHAR(100) PRIMARY KEY,
  FromId VARCHAR(10),
  ToId VARCHAR(10)
);

上述两张表可完整描述有向网络图的结构,配套示例网络图中既包含常规的线性连接路径,也存在被黄色高亮矩形标注的节点闭环——这类闭环就是递归遍历过程中容易触发无限循环的风险点。

核心查询目标

需要编写支持递归逻辑的SQL查询,实现如下需求:

  1. 枚举所有从指定起始节点出发、途经任意数量中间节点后抵达目标终止节点的完整连接路径
  2. 遍历过程中自动识别已访问的节点,规避节点闭环导致的无限递归问题
  3. 遍历逻辑可参考爬虫的探索模式:为每个可到达的分支逐次排查可用连接,实时维护已访问节点的记录,沿路径持续向前遍历直到抵达目标节点即终止当前分支的探索;全量探索完成后,统一筛选出所有满足“从指定起点出发、最终到达目标终点”要求的有效路由,避免返回无关的路径结果。

内容的提问来源于stack exchange,提问作者DarioN1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 11:06:08