位置: 编程技术 - 正文

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

  • 商品混凝土税率为啥是3%
  • 计提本月所得税费用怎么算
  • 杭天金税财务软件多少钱
  • 本年计算扣除限额的基数怎么算
  • 固定资产的入账
  • 银行存款余额调节表编制
  • 个税系统经营所得如何添加人员信息
  • 房屋合同印花税税率属于个人交的吗
  • 购货方收到红字发票
  • 业务招待费扣除标准营业收入包括
  • 天猫费率是什么
  • 外出经营许可证办理流程
  • 领用自产应税消费品负担的消费税计入在建工程成本吗
  • 未分配利润转增股本需要缴纳企业所得税吗
  • 开出支票支付属于什么会计科目
  • 月初发票认证能抵扣吗
  • 旧机动车交易需要哪些法定证件
  • 劳务公司民工工资可以抵进项吗
  • 增值税专用发票几个点
  • 社会保险的登记和申报程序
  • 文化用品利润怎么样
  • 工程建造过程中发生的在建工程人员工资180万尚未支付
  • 小规模纳税人增值税超过30万怎么纳税
  • 施工津贴属于
  • 普通支票如何转账
  • win11如何安装安卓app
  • 鸿蒙系统怎么升级3.0
  • windows10无线网卡怎么连接无线网
  • 联想昭阳k41笔记本
  • smtplib教程
  • 苹果手机录音转mp3怎么转
  • 如何修复面部毛孔粗大
  • 如何计算旧城拆迁面积
  • 土地差价款和土地出让金
  • 购入多项固定资产
  • ORB_SLAM2+kinect稠密建图实战项目总结
  • three.js如何给模型锚点
  • 嵌入式从业10年,聊聊我对工业互联网和消费物联网的看法 | 文末赠书4本
  • 微软和梅赛德斯奔驰宣布合作
  • 工程竣工决算会计账务处理
  • 建筑业的账务处理方法
  • 工业企业应收应付会计怎样
  • 公司扣除保险费会计分录
  • 跨省市提供建筑服务
  • 小规模纳税人是个体户吗
  • sql无法运行
  • mysql数据库错误日志
  • 小规模纳税属于什么科目
  • 利润分配贷方余额怎么处理
  • 劳务外经证预缴税款
  • 公司注销应收账款如何转让给第三方
  • 本期预付的费用属于本期费用吗
  • 款已付未收到发票
  • 票据包括哪些
  • 清卡流程图
  • 预提费用如何预提
  • 什么叫社保差额调整
  • 房地产开发企业销售自行开发的房地产项目
  • mysql数据库查看是否区分大小写
  • mysql 300万条数据
  • virtualboxubuntu安装教程
  • 苹果电脑定制键盘
  • centos分区说明
  • 如何更改win7
  • 安装fedora33
  • mac电脑打开safari
  • netcfg -d
  • centos 删除恢复
  • win8.1拨号上网
  • linux 的ll
  • win8如何使用
  • sendmail邮件服务器的配置
  • linux扩充inode
  • 手游频繁崩溃怎么解决
  • nodejs跳转到指定页面
  • unity behavior designer
  • js中的eval
  • jquery中keyup
  • xmpp client
  • 开票系统红色预警情况说明怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设