`
film
  • 浏览: 231509 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql 生成菜单列表形菜单(作为笔记记录在这里)

 
阅读更多

l给你一个例子,跟这个差不多:
CREATE TABLE T(ID INT ,PID INT)
INSERT INTO T SELECT 1,0
UNION ALL SELECT 2,0
UNION ALL SELECT 3,1
UNION ALL SELECT 4,1
UNION ALL SELECT 5,2
UNION ALL SELECT 6,4
UNION ALL SELECT 7,3
UNION ALL SELECT 8,4
GO
--测试数据

CREATE FUNCTION F(@ID INT)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @R VARCHAR(20)
SET @R=@ID
WHILE ISNULL(@ID,'')<>''
BEGIN
SELECT @R=CAST(PID AS VARCHAR(20))+'.'+@R FROM T WHERE ID=@ID
SELECT @ID=PID FROM T WHERE ID=@ID
END
RETURN @R
END
GO
--生成目录

CREATE FUNCTION F2(@F VARCHAR(20))
RETURNS VARCHAR(20)
BEGIN
DECLARE @R VARCHAR(20)
SET @R=''
SET @F=SUBSTRING(@F,4,LEN(@F))
WHILE CHARINDEX('.',@F,1)<>0
BEGIN
SET @F=SUBSTRING(@F,CHARINDEX('.',@F,1)+1,LEN(@F))
SET @R='-'+@R
END
RETURN @R
END
GO
--生成前缀符号


SELECT DBO.F2(DBO.F(ID))+CAST(ID AS VARCHAR) FROM T ORDER BY DBO.F(ID)
GO

--结果

DROP TABLE T
DROP FUNCTION F
DROP FUNCTION F2


----------------------------------------------------以下为结果集--------------------------------------------------------------

1
-3
--7
-4
--6
--8
2
-5

分享到:
评论

相关推荐

    Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记

    总结,本文详细介绍了如何在基于Bootstrap Metronic的MVC项目中构建完全响应式的菜单栏,包括环境配置、数据库设计、动态生成菜单的方法,以及响应式设计和性能优化的要点。这样的学习笔记对于开发者理解和应用...

    三级分类带数据库带后台带列表菜单选择

    在这个程序中,数据库可能采用了关系型数据库管理系统(RDBMS),如MySQL或SQL Server,来存储各个级别的分类信息。每个分类可能包括ID、父分类ID、名称、描述等字段,通过父子关系来构建多级关联。 后台管理界面则...

    自学笔记自学笔记自学笔记自学笔记自学笔记

    - **功能描述**:提供基于模板的代码生成器,可以根据数据库表结构自动生成相关代码(如CRUD操作、Excel导入导出、树形结构、字典生成等)。 - **关键特性**:自动化代码生成、支持多种代码模板、提高开发效率。 ...

    cognos学习笔记

    ### Cognos 学习笔记知识点详述 #### 一、Cognos 报表制作简明手册 **1. 建立数据库连接** 在使用Cognos进行报表制作之前,首先需要建立与数据库的有效连接。以下是具体的步骤: - **启动Cognos Impromptu ...

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    如何用C#在Excel中生成图表?.txt 如何用程序实现键盘和鼠标的模拟?.txt 如何与资源管理器互动剪切、拷贝、粘贴文件.txt 深入理解C#编程中的组件-事件-委托.txt 生成透明的GIF图片 .txt 生成压缩图片时的2种...

    Mybatis3试用笔记.docx

    这篇试用笔记主要记录了在Eclipse3.6和MySQL5.1环境下使用Mybatis3.0.6的一些关键步骤。 首先,你需要下载并安装相关软件。Eclipse3.6.2是一个流行的Java集成开发环境,而Mybatis3.0.6则是要试用的版本。同时,还...

    asp入门者笔记,本人编辑

    这里的 `Rs` 是一个记录集对象,用于存储从数据库查询到的数据。 在接下来的代码中,`sql` 变量构建了一个SQL查询语句,用于根据Cookie中的用户名查询用户权限。`Rs.Open sql,Conn,1,3` 使用 `Conn` 对象(数据库...

    PB9学习笔记

    总结,PB9作为一款成熟的开发工具,提供了全面的功能和友好的开发环境,对于初学者来说,掌握PB9不仅能够提升数据库应用开发技能,还能为未来的职业发展打下坚实基础。通过深入学习和实践,你将能熟练运用PB9解决...

    oracle 韩顺平笔记 传智播客

    1. **SQL*Plus**:Oracle自带的工具,用于执行SQL语句和PL/SQL块,可通过多种方式启动,如菜单、运行命令或特定的应用程序入口。 2. **SQL*Plus Worksheet**:提供图形界面的SQL*Plus版本,适合复杂的SQL语句编辑和...

    VB+SQL餐饮管理系统(源代码+系统+可执行程序).rar

    【VB+SQL餐饮管理系统】是一个基于Visual Basic (VB)编程语言和SQL数据库技术开发的餐饮行业信息化解决方案。这个系统提供了全面的功能,旨在帮助餐饮企业高效地管理日常运营,包括但不限于菜单管理、订单处理、库存...

    phpcms学习笔记

    这篇笔记主要记录了在学习 Phpcms 过程中遇到的问题及其解决方案,涉及到的内容包括常用的标签使用、页面导航构建以及时间格式化等。 一、常用标签 1. 当前位置标签:`{catpos($catid)}` 用于显示当前页面所在的...

    Oracle EBS 开发笔记

    - **跨数据库的SQL**:在不同数据库间执行SQL命令。 #### 七、EBS 开发基础 - **开发工具安装**:安装所需的开发环境和工具。 - **Oracle EBS工具集**:介绍Oracle EBS提供的工具集。 - **EBS二次开发包注册**:...

    C#笔记三[ADO.NET数据访问技术]

    本笔记主要记录了 ADO.NET 数据访问技术的相关知识点,包括 ADO.NET 的概念、主要组件、连接数据库的准备工作、Connection 对象、Command 对象、数据操作常见错误总结等。 一、ADO.NET 概念 ADO.NET 是 .NET 平台...

    金蝶EAS BOS开发学习笔记

    - 导出数据表,并在管理控制台中使用生成的SQL脚本创建表。 3. **查询与字段配置**: - 在`app`文件夹下新建查询`XueLiQuery`,实体选择`XueLi.entity`。 - 打开查询`XueLiQuery`,通过“导入”功能添加需要查询...

    后台添加三级产品菜单分类添加

    例如,当添加一个新的三级分类时,ASP脚本会向数据库发送SQL语句,创建新的记录,并将分类信息保存到相应的表格中。 实现三级菜单分类添加的功能,通常需要以下步骤: 1. 创建数据库表结构:设计数据库表,包含必要...

    《Visual FoxPro数据库基础及应用》读书笔记模板.pptx

    详细介绍了数据库基础知识、VFP集成应用环境、数据及其运算、VisualFoxPro数据库及其操作、关系数据库标准语言SQL、查询与视图、程序设计基础、表单设计与应用、菜单设计与应用、报表设计、开发应用程序等知识,并在...

    TreeView MenuItem SiteMapPath的学习笔记

    例如,可以创建一个基于SQL Server的`SiteMapProvider`,从数据库中读取页面和链接信息,生成`SiteMap`。 通过阅读《构建动态导航的Web应用程序.ppt》这个文件,可以更深入地了解如何结合使用这些控件以及如何创建...

    Oracle-EBS开发笔记

    在Oracle EBS中,开发者常使用PL/SQL语言编写业务逻辑,包括触发器、存储过程、函数等。通过PL/SQL,可以与数据库交互,处理复杂的业务规则。 4. **Forms and Reports开发** Oracle Forms用于创建用户界面,而...

Global site tag (gtag.js) - Google Analytics