位置: 编程技术 - 正文

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

  • 工资薪金税前扣除标准是14%吗
  • etc扣费与发票不符
  • 为什么对子公司长投要用成本法
  • 一般纳税人降为小规模还能升为一般纳税人吗
  • 被客户扣钱怎么办
  • 计提坏账又收回
  • 股东投入资金大,但不想成为法人
  • 劳务派遣怎么做起来
  • 承兑到期没兑现怎么处理
  • 外贸企业人民币结算
  • 税率调整后之前签的合同用变更吗
  • 现金流量表借款还了流入和流出可以抵消吗
  • 转出未交增值税怎么算
  • 预缴增值税被挂账怎么办
  • 增长率的六个公式
  • 银行利息现金流量表什么科目
  • 特殊性税务处理和一般性税务处理的区别
  • 冲减多计提的费用
  • 税控盘额度
  • 企业所得税法中规定的收入总额包括
  • 预缴企业所得税是含税数还是不含税
  • 电脑重启后分辨率没有1920x1080
  • 银行利息为什么只算10个月
  • 出口退税新政策对出口贸易的影响
  • 招待费如何列支
  • win7系统网络一直转圈,什么都打不开
  • 房地产业务招待费
  • PHP:Memcached::get()的用法_Memcached类
  • 员工福利费会计处理
  • vue中的...
  • 增值税的特殊项目
  • 政策性搬迁补偿收入
  • 企业所有的支出是什么
  • vue3 拖拽
  • 《设计模式》
  • 拨入专款年终如何做账
  • 房企预缴税款会退税吗
  • python中如何合并csv
  • 餐饮发票不见了怎么补
  • python默认画布大小
  • js array.fill
  • 固定资产折旧的账务处理
  • 使用sql server
  • 注销时,其他应付款有余额,怎么冲减
  • 从公司账户转给出纳备注
  • 企业银行贷款保证金多少
  • 购买不良债权如何追偿
  • 商业承兑汇票结算会计分录
  • 独立核算 单独核算
  • 住宿费电子发票
  • 发票抬头公司报销的该怎么写
  • 如何做好现金流
  • 收到政策性搬迁短信
  • mysql连接查询的几种方式
  • Linux服务器中MySQL远程连接的开启方法
  • MySQL execute、executeUpdate、executeQuery三者的区别
  • mysql中建表
  • sql转换
  • chcfg.exe是什么
  • 如何解决win10系统用户名有中文
  • 卸载软件后整个盘都清空了
  • win8使用技巧 图文
  • centos 环境变量
  • linux 下MySQL服务器的启动与停止
  • win7系统怎么更改桌面图标大小
  • win10 1511(win10 TH2)如何调整开始屏幕磁贴大小?
  • xp系统怎样阻止脱机窗口弹出
  • 运维是什么的
  • windows7看视频黑屏
  • windows10一分钟重启解决
  • jqueryfind
  • jquery width
  • 微信公众号摇号软件
  • js正则表达式gi
  • ThreadPool.RegisterWaitForSingleObject 设置等待超时事件
  • js中倒计时器怎么实现
  • jquery easing
  • python django
  • 河北省国家税务局电子税务局登录
  • 税务局 协查函
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设