无限级根据Id获得所有子节点数据
2024-10-06 21:57:40
if exists (select 1
from sysobjects
where id = object_id('tb1')
and type = 'U')
drop table tb1
go
create table tb1 (
Id int null,
name varchar(50) null,
pId int null,
level int,
sort int
)
go if exists (select * from sysobjects where name='proc_menu_select')
drop procedure proc_menu_select
go
create proc proc_menu_select(@id int,@t int)
as
declare @i int
declare @count int, @tmpid int
create table #tb(id int,name varchar(50),pId int,level int,sort int)
select @count=COUNT(1) from tb_Menu where pId=@id
insert #tb select m.id,m.name,m.pId,m.level,m.sort from tb_Menu m where pId=@id
select @i=level from tb_Menu where id=@id
while(@count<>0)
begin
set @i=@i+1
print @i
select @count=COUNT(1) from tb_Menu m left join #tb on #tb.id=m.pId where #tb.level=@i
insert #tb select m.id,m.name,m.pId,m.level,m.sort from tb_Menu m left join #tb on #tb.id=m.pId where #tb.level=@i
end
select id,name,pId,level,sort from #tb
go exec proc_menu_select 3,1
select * from tb_Menu;
select * from tb1
最新文章
- ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
- UVA11021 Tribles[离散概率 DP]
- 七、Block 封装代码
- LeetCode Flip Game II
- 在Linux上安装JDK7
- StringBuilder的Append()方法会比+=效率高
- 从零开始学android开发-Json转换利器Gson之实例
- 三维偏序-二维LIS
- IOS学习1——IOS应用程序的生命周期及基本架构
- Docker教程:dokcer machine的概念和安装
- Mybatis事务(二)事务隔离级别
- linux,shell脚本set -x的意思
- CentOS安装Nginx Pre-Built
- ERP按序打印问题
- Webpack+Vue+ES6 前端组件化开发mobile-multi-page应用实战总结和踩坑
- 算法(第四版)C# 习题题解——1.2
- myeclipse 自动部署web项目(自动编译)
- 01-MySql的前戏
- 了解java内存模型,看这里就够了
- im ui框架调研,对比
热门文章
- noip训练 2018.10.22~2018.10.23
- docker安装redis并允许外网访问
- 有效的结构化思维训练,MECE分析法
- 导出excel 各 cvs 的方法
- 51 Nod1042 数字0到9的数量
- CDOJ 1132 酱神赏花 dp+单调栈降低复杂度+滚动数组
- B - Problem Arrangement ZOJ - 3777
- vue-cli3项目中引入jquery 以及如何引进bootstrap
- 忘记Linux 3.X/4.x/5.x 宝塔面板密码的解决方案
- 9.关联规则那不行fizi麸子