首页 > 数据库技术 > 详细

sql server CTE递归使用测试

时间:2016-08-25 20:25:35      阅读:303      评论:0      收藏:0      [点我收藏+]
--CTE递归查询
if(object_id(N‘menu‘) > 0)
	drop table menu

CREATE TABLE MENU 
 (
    name nvarchar(50) NOT NULL PRIMARY KEY,
    senior nvarchar(50) NULL
);
 
 INSERT INTO MENU values
    (‘文件‘,NULL),
    (‘新建‘,‘文件‘),
    (‘项目‘,‘新建‘),
    (‘项目11111‘,‘项目‘),
    (‘项目22222‘,‘项目‘),
    (‘项目33333‘,‘项目‘),
    (‘使用当前连接查询‘,‘新建‘);
    
WITH lmenu(name,senior,level) as
 (
    SELECT NAME,SENIOR,0 level FROM MENU WHERE name = ‘新建‘
    UNION ALL
    SELECT A.NAME,A.SENIOR,b.level+1 FROM MENU A,lmenu b
    where a.senior = b.name
)
SELECT *  from lmenu

  

sql server CTE递归使用测试

原文:http://www.cnblogs.com/zhoushangwu/p/5808174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!