位置: 编程技术 - 正文

SQL Server 公用表表达式(CTE)实现递归的方法(sql共享)

编辑:rootadmin

推荐整理分享SQL Server 公用表表达式(CTE)实现递归的方法(sql共享),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server的go,sql数据库共享设置,sqlserver中go,sqlserver共享功能,sql 公用表表达式,sql 公用表表达式,sql server里面的go,sql server公式,内容如对您有帮助,希望把文章链接给更多的朋友!

公用表表达式简介:

公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。

下面先创建一个表,并插入一些数据:

查找指定节点的所有子孙节点:

使用普通 sql 语句实现:

以上是根据指定节点ID(3),查找父节点ID(即字段 ParentId)等于指定的节点ID,如果有就插入,并继续循环。

PS:lv=@level-1 是重点,不然会进入死循环,作用就是限制只插入一次。

如果需要限制循环的次数,即递归的层数,那么只需要在 while 条件里面添加一个限制即可。如下:

SQL Server 公用表表达式(CTE)实现递归的方法(sql共享)

当然,如果指定了循环次数,就可以不用 while 判断语句的 @@rowcount>0 了。

使用 SQL CTE 实现:

使用 CTE 控制递归的层数,与上面类似。如下:

查找指定节点的所有祖先节点:

使用普通 sql 语句实现:

使用 SQL CTE 实现:

以上所述是小编给大家介绍的SQL Server 公用表表达式(CTE)实现递归的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对积木网网站的支持!

SQL Server 常用函数使用方法小结 之前就想要把一些SQL的常用函数记录下来,不过一直没有实行。。。嘿嘿。。。直到今天用到substring()这个函数,C#里面这个方法起始值是0,而SQL里面起

SQL Server中关于基数估计计算预估行数的一些方法探讨 关于SQLServer中的基数估计,官方文档OptimizingYourQueryPlanswiththeSQLServerCardinalityEstimator里有大量细节介绍,但是全部是英文,估计也没有几个人仔细阅

Sql Server数据库各版本功能对比 背景今天举办的DataAmp大会上,微软向开发者们强调了数据如何影响他们的应用和服务,顺道还宣布了几个小新闻。这个免费的线上研讨会不仅展示了未

标签: sql共享

本文链接地址:https://www.jiuchutong.com/biancheng/324391.html 转载请保留说明!

上一篇:MSSQL 2008 自动备份数据库的设置方法

下一篇:SQL Server 常用函数使用方法小结(sqlserver函数语法)

  • 金税盘的会计科目
  • 企业名称税号
  • 个人是否可以申请精神司法鉴定
  • 企业所得税的会计利润计算公式
  • 增值发票每月上报是怎么个程序吗
  • 安装费发票备注栏怎么填
  • 虚开增值税立案标准
  • 在途物资的会计凭证怎么做
  • 差旅费报销单属于什么凭证?
  • 未支付商标使用费怎么办
  • 长期待摊费用做在什么记账凭证里
  • 新会计准则开办费装修费计入什么科目
  • 去年漏记一笔银行付款怎么办
  • 固定资产账载金额和税收金额的区别
  • 固定资产所取得的成本
  • 税务局代增值税专用发票盖什么章
  • 房产印花税缴纳
  • 个人租车给公司租金多少合适
  • 几种更正法
  • 免征增值税转入什么科目
  • 发票分票怎么处理违章
  • 金蝶软件如何修改凭证号
  • 应收账款结转下年要画红线吗
  • 企业研发活动中心职责
  • 股权投资收入会计处理
  • 什么是长期应付薪酬
  • 华为鸿蒙系统如何刷机
  • 打开win10 defender
  • 电脑上的五角星是什么意思
  • 汇算清缴后补缴企业所得税账务处理
  • 微软 Windows x64 仿真正式推出,只支持 Win11 ARM
  • php 强类型
  • 在杂志上发表文章算出版吗
  • 狮子岩斯里兰卡
  • 日本的萤火虫
  • 管理费用属于损益类吗
  • 财务费用明细科目怎么写
  • php str函数
  • 以物易物双方做什么处理
  • PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
  • vue keep-alive实现原理
  • 伪类的常见类型
  • Laravel5.1自定义500错误页面示例
  • 上月购进固定资产次月退货已开具红字发票如何入账
  • 帝国cms破解授权
  • 向境外机构支付的服务费税收政策
  • 旅行社的增值税税率
  • 研发支出管理的构成要素
  • 收到生育津贴会计分离
  • 合同印花税怎么做会计分录
  • 企业自建房产提款流程
  • 运输途中丢失的物品赔偿
  • 企业中的消费环境分析
  • 母子公司之间内部交易形成的坏账可以所得税税前扣除吗
  • 现销方式
  • 管理费用属于什么成本
  • 黑苹果驱动说明
  • centos调出命令行
  • ubuntu修改ip地址方法
  • linux useradd -m
  • Windows8怎么打开任务管理器
  • win10系统日历设置
  • javascriptcall和apply
  • 用git打更新包的代码
  • unity3d的
  • 关于javascript函数
  • url跟uri
  • java的匿名内部类
  • android studio入门项目
  • css全局声明
  • 批处理结束后不关闭窗口
  • jquery 插件写法
  • jquery选择器有哪些
  • django框架详解
  • 如何开具红字发票明细
  • 印度有加入世贸吗
  • 广东省电子税务局app
  • 扣缴个人所得税怎么计算
  • 打税务局电话
  • 法制员职责任务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设