对CTE递归 的理解
来源:互联网 发布:网络 鱼塘是什么意思 编辑:程序博客网 时间:2024/04/30 14:01
CREATE TABLE #D(A CHAR(1),B CHAR(2)) INSERT INTO #DSELECT 'a','b' UNION ALL SELECT 'b','c'UNION ALL SELECT 'c','d' UNION ALL SELECT 'd','e'UNION ALL SELECT 'b','m' WITH CTEA AS(SELECT B FROM #D WHERE A = 'a'UNION ALLSELECT m.B FROM #D m , CTEA n where m.A = n.B)SELECT * FROM CTEA
如上,可用CTE轻松解决递归问题。再如下,用临时表来类比CTE中的层层数据获取。
CREATE PROCEDURE dbo.getChildren(@D CHAR(2)) AS CREATE TABLE #X (B CHAR(5),ID INT )INSERT #X SELECT B,1 FROM #D where A = @D DECLARE @ID INT WHILE @@ROWCOUNT > 0BEGINSELECT @ID = MAX(ID) FROM #X INSERT #X SELECT m.B,@ID+1 FROM #D m,#X n WHERE m.A=n.B AND n.ID = @ID ENDSELECT * FROM #X ORDER BY ID DROP TABLE #X exec dbo.getChildren 'a'
- 对CTE递归 的理解
- 对递归的理解
- 对递归的理解
- 对递归的理解
- 对递归的理解
- cte递归的小例子
- CTE递归的一个应用
- With (CTE、递归CTE)
- CTE递归
- CTE 递归
- 关于对递归的理解
- 对递归的一些理解
- 关于对递归的理解
- 对递归的理解归纳
- 对递归的简单理解
- 对递归的一点理解
- 我对递归的理解!
- 对递归的个人理解
- android编译系统makefile(Android.mk)写法
- 分享微软一站式示例脚本库 - IT专业人士的省时利器
- iOS 5.1.1越狱后恢复失败,以及升级ios6失败解决办法
- 开源与封闭的下一片战场——汽车行业
- Symbian 进行最后一次系统升级 塞班时代结束
- 对CTE递归 的理解
- 关于C#中list的用法
- 同时学习多种编程语言其实很容易
- C# 调用C++动态库回调函数
- 希望新浪微博不要向facebook更新
- linux文件操作二(文件定位和状态函数)
- 韩海警今下午将发布中国渔民身亡调查报告-海警-韩国-中国渔民
- codeigniter在IDE中实现补充代码功能
- 科技界10大最具争议成功决定