位置: 编程技术 - 正文

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函数语法)

  • 如何开具免税发票
  • 城市配套费的用途
  • 税务师考试科目搭配
  • 销项税现金流量指定
  • 企业所得税汇算清缴退税怎么做账
  • 可供出售金融资产和长期股权投资
  • 企业重组失败会怎么样
  • 企业合并的会计方法选择
  • 电汇凭证如何使用
  • 出口不报关账务处理
  • 银行结汇汇兑损益的会计分录怎么写?
  • 什么费用计入什么科目
  • 精创云所有者权益为负
  • 营改增之前固定资产可以抵扣吗
  • 过期没有进行申报印花税会怎样
  • 装修公司在装修完后增加费用
  • 增值税计税依据包含消费税吗
  • 调用核心征管失败是什么意思
  • 500万以下固定资产最新政策
  • 个体工商户交企业所得
  • 小规模普通发票可以抵扣吗
  • 未成立工会组织情况说明
  • 补交以前年度增值税的科目处理
  • 银行存款收款凭证属于什么凭证
  • 维保合同交印花税吗怎么交
  • 公司的职工教育是指什么
  • mac屏蔽显卡教程
  • 母公司给全资子公司担保需要决议吗
  • ie浏览器阻止
  • 华为鸿蒙os升级机型曝光
  • ubuntu 20.04.1
  • 事业单位专项资金包括哪些内容
  • 分配利润的会计科目
  • 公司增资怎么需要什么资料
  • setlang.exe - setlang是什么进程 有什么用
  • php编程基础与案例开发
  • 欧罗巴山脉自驾
  • 企业会计准则股本
  • 允许加计扣除的委托境外研发费用
  • 微信小程序开发零基础入门
  • php如何遍历二维数组
  • 员工休产假不发工资违法吗
  • SQLite教程(三):数据表和视图简介
  • 租车出差差旅费标准
  • 生成100个[30-99]之内的随机数
  • 事业单位银行开户规定
  • 工会经费会计分录最新
  • 个体户没有税务登记怎么开发票
  • 开发成本存货怎么算
  • 建造厂房流程
  • 增值税发票丢失罚款多少
  • 补发工资如何计税计算
  • 其他综合收益要转入投资收益吗
  • 年底销项税额和进项税额要转出吗
  • 个人保险发票能做账吗
  • 银行回单自助打印可以打多久的记录
  • Red Hat Enterprise Linux 4+Nginx 0.7.47+PHP5.2+MYSQL5.0+Memcache+eAccelerator收
  • 联想电脑的样子
  • 新买的u盘安全吗
  • win8有几个版本
  • windows开始按钮点了没用
  • 2015年win10共发布135个安全补丁 创历年之最
  • 如何在linux系统中卸载一个已装载的文件系统
  • Extjs gridpanel 出现横向滚动条问题的解决方法
  • nodejs使用场景
  • jframe背景透明
  • bootstrap怎么用
  • android app 框架
  • css划动
  • 批量数据验证
  • javascript运用
  • bootstrap 树
  • mvp 框架
  • jquery 滑动显示
  • 车辆购置税需要每年都交吗
  • 昌吉市税务大厅
  • 百旺税控盘口令是多少
  • 2021年留抵退税可以退2019年的吗
  • oecd是什么意思的缩写
  • 国家税务总局网站官网贵州省税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设