SQL递归问题详解.docxVIP

  • 5
  • 0
  • 约1.96千字
  • 约 6页
  • 2023-08-03 发布于北京
  • 举报
SQL 递归问题详解 递归查询原理 SQL Server中的递归查询是通过CTE(表表达式)来实现。至少包含两个查询,第一个查询为定点成员,定点成员只是一个返回有效表的查询,用于递归的基础或定位点;第二个查询被称为递归成员,使该查询称为递归成员的是对CTE名称的递归引用是触发。在逻辑上可以将CTE名称的内部应用理解为前一个查询的结果集。 递归查询的终止条件 递归查询没有显式的递归终止条件,只有当第二个递归查询返回空结果集或是超出了递归次数的最大限制时才停止递归。是指递归次数上限的方法是使用MAXRECURION。 递归查询的优点 效率高,大量数据集下,速度比程序的查询快。 递归的常见形式 WITH CTE AS ( SELECT column1,column2... FROM tablename WHERE conditions UNION ALL SELECT column1,column2... FROM tablename? INNER JOIN CTE ON conditions? ) 递归查询示例 创建测试数据,有一个员工表Employee,ManagerID是UserID的父节点,这是一个非常简单的层次结构模型。 USE?SQL_Road GO? CREATE??TABLE?Employee ( ????UserID?INT, ????ManagerID?INT, ??

文档评论(0)

1亿VIP精品文档

相关文档