CREATE FUNCTION dbo.Fun_Get_Category_TreeInfo ( @CategoryID varchar(10) -- 若 @CategoryID = "" 则表示查询所有的节目,也就是父级代码为 -1 下的所有节目 ) RETURNS @TreeInfo Table ( [Category_id] [int] not null, [Parent_id] [int] null, [Category_name] [varchar](50) null, [Code] [varchar](10) null, [AllowDownAll] [char](1), [Operator_id] [smallint], [Define_time] [datetime], [Flag] [char](1), [categorypath] [varchar](100), [Level] [int] NOT NULL, [LevelFlag] [varchar] (200) NOT NULL ) AS BEGIN DECLARE @level As int SELECT @level = 0 if @CategoryID != '' Insert Into @TreeInfo SELECT Category_ID, Parent_ID, Category_Name, Code, allowDownAll,Operator_ID,Define_Time,Flag,Categorypath,@level, 'NULL-> ' + Cast(Category_ID As varchar(10)) FROM [Act_Category] WHERE [Category_ID] = @CategoryID else Insert Into @TreeInfo SELECT Category_ID, Parent_ID, Category_Name, Code, allowDownAll,Operator_ID,Define_Time,Flag,Categorypath,@level, 'NULL-> ' + Cast(Category_ID As varchar(10)) FROM [Act_Category] WHERE [Parent_ID] = -1 WHILE @@ROWCOUNT > 0 BEGIN SET @level = @level + 1 INSERT INTO @TreeInfo SELECT E.[Category_ID], E.[Parent_ID], E.[Category_Name], E.[Code], E.[allowDownAll],E.[Operator_ID],E.[Define_Time],E.[Flag],E.[Categorypath], @level, T.[LevelFlag] + '->' + Cast(E.[Category_ID] As varchar(10)) FROM [Act_Category] AS E JOIN @TreeInfo AS T ON E.[Parent_ID] = T.[Category_ID] AND T.[Level] = @level - 1 END Return END
分享到:
相关推荐
sqlserver递归查询树结构的表的根结点子最里层的子结点
sql server 2008 递归查询所有上级或下级数据
asp.net+sql server2000实现递归绑定树形控件
当初花了很长时间查资料、逛博客 终于搞定的排序 以及对于处理菜单列表显示的 问题。希望对你们有帮助。压缩包包含数据表创建脚本 以及 实现功能的语句 表结构字段 id、name、url、pid、indexs
使用SQL Server存储过程递归遍历层次结构.pdf
详细描述在sqlserver 2005 中通过使用CTE 实现递归的方法
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...
将多行数据生成一个一个字符患的递归脚本,方便,快捷。要顶哦。
以阶层为例子说存储过程中递归的调用。 递归 CREATE PROC [dbo].[usp_spFactorial] @InputValue INT, @OuputValue INT OUTPUT AS BEGIN DECLARE @InValue INT; DECLARE @OutValue INT; IF(@InputValue!=1) ...
本文实例讲述了sql server实现递归查询的方法示例。分享给大家供大家参考,具体如下: 有时候面对树结构的数据时需要进行递归查询,网上找了一番,参考了各位大神的文章,发现蛮简单的,当做个小笔记方便以后使用 sql ...
给定一个节点ID,查询此节点下的全部节点,并将结果集保存在临时表中
-- 用SQL Server显示树结构, 不用递归算法,不用游标,没有层次限制, 速度很快 -- 显示、打印用起来很方便的 -- select * from Dept -- select * from dbo.GetDeptTree('00000000-0000-0000-0000-000000000000') ...
insert into dbo.hierarchy values(1,0,'河南省') ,(2,1,
-- 用SQL Server取得树节点路径, 不用递归算法,不用游标,没有层次限制, 速度很快 -- 显示、打印用起来很方便的 -- print dbo.GetDeptPath('5cb3c3ee-4b2b-4005-8037-bb3876663d2e','->') -- select * from Dept
SQL sever 中递归查找子节点和父节点,有实例SQL代码,直接运行
代码如下:–由父项递归下级 with cte(id,parentid,text) as (–父项 select id,parentid,text from treeview where parentid = 450 union all –递归结果集中的下级 select t.id,t.parentid,t.text from treeview as...
SQL Server 2005 杂谈 公用表表达式 CTE 递归调用 doc SQL Server 2005 杂谈 公用表表达式 CTE 递归调用 doc
目录如下: 第1章 简介 1.1 谁是本书的读者 1.2 本书的内容 1.3 需求 1.4 SQL Server 2000的新特性 1.4.1 改进了对Web的支持 1.4.2 改进了伸缩能力和...附录A SQL Server 2000中的T-SQL和XML数据类型 附录B 练习答案
本书是Inside Microsoft SQL Server 2005系列四本著作中的一本。它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于...