`
sctom123
  • 浏览: 112167 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sql 树形的灵活性

阅读更多
由于上面的方法,在函数中传入表的名字,这样每一个有父子关系的表都必须有一个函数,因为表名不一样。我设想是不是可以把表名传进去。于是就有了下面的写法。
引用
CREATE FUNCTION dbo.GetSubtreeInfo2

( @manager_id AS varchar(32) ,--待管理的节点,从哪一组开始管理
@table_name_user as varchar(50),-- 传入表的名字,使不同的表只要传入表名这个函数
@tabel_id as varchar(32),--表的主键列名
@parent_id as varchar(32)--表的父列名
)

RETURNS @treeinfo table

(
[@tabel_id] [varchar] (32) NOT NULL,

[level] [int] NOT NULL

)
AS

BEGIN

DECLARE @level AS int

SELECT @level = 0

INSERT INTO @treeinfo

SELECT @tabel_id, @level

FROM [@table_name_user]

WHERE [@tabel_id] = @manager_id

WHILE @@ROWCOUNT > 0

BEGIN

SET @level = @level + 1

INSERT INTO @treeinfo

SELECT E.[@tabel_id], @level

FROM [@table_name_user] AS E JOIN @treeinfo AS T

ON E.[@parent_id] = T.[@tabel_id] AND T.[level] = @level - 1

END

RETURN

END






可是在执行的时候,去出现了对象名@table_name_user无效的错误,真是郁闷。有没有更好的办法呢?
分享到:
评论

相关推荐

    sql树形数据处理示例

    在SQL数据库中,树形数据结构是一种常见的关系表示方式,特别是在需要表示层级或者分类的数据时。例如,组织架构、产品目录、菜单系统等都可能涉及树形数据的存储和查询。本示例将深入探讨如何在SQL中处理这类数据,...

    Java动态树形权限菜单JavaScript+SqlServer2005

    8. **安全性考虑**:在实现动态树形权限菜单时,必须考虑到安全性问题。防止SQL注入、XSS攻击等,使用预编译的SQL语句,对输入进行校验和过滤,以及对敏感信息进行加密。 综上所述,"Java动态树形权限菜单...

    excel树形字典,导入数据库

    Excel作为一种常见的数据管理工具,因其易用性和灵活性而被广泛使用。然而,随着数据量的增长,将Excel数据导入到更为专业的数据库系统中变得越来越必要。"Excel树形字典,导入数据库"这个主题就聚焦于如何将结构化...

    SQL WHERE 条件解析器

    4. **构建条件树**:创建一个树形结构,每个内部节点代表逻辑运算符,叶子节点代表具体的条件。 5. **操作与还原**:使用者可以对条件树进行修改,比如添加、删除或修改条件,然后解析器会根据新的条件树生成对应的...

    C#做的树形网站后台主框架

    树形结构是一种层次清晰、逻辑性强的数据表示方式,常用于展现具有层级关系的内容,如菜单系统。在这个框架中,左侧的树形菜单是其核心特色,它允许用户以直观的方式浏览和操作多级菜单项,极大地提高了工作效率。 ...

    Oracle SQL树形结构查询

    总的来说,Oracle SQL的树形结构查询提供了一种高效且灵活的方式来处理层级数据,它允许我们从任意节点开始,沿着树的结构进行遍历,无论是向上追溯至根节点,还是向下遍历所有子节点,都变得轻而易举。这种能力对于...

    SQL Server 2005 Beta 2 Transact-SQL 增强功能

    通过递归CTE,可以轻松地遍历整个树形结构。 3. **PIVOT和APPLY关系运算符**: PIVOT用于将行转换为列,这对于数据透视和报告非常有用。APPLY运算符则允许将一个表值函数应用到另一个表的每一行,提供了更复杂的...

    ASP.NET源码——无限级树形菜单(Sql数据库).zip

    在这个"ASP.NET源码——无限级树形菜单(Sql数据库)"项目中,开发者构建了一个利用 ASP.NET 技术实现的无限级树形菜单,其数据存储在 SQL 数据库中。这通常是为了实现网站导航、组织结构或者分类目录等功能。 首先,...

    SQL sever 中递归查找子节点和父节点

    SQL Server 中递归查找子节点和父节点 在关系数据库管理系统中,特别是在 SQL Server 中,...通过创建函数 `f_getChild` 和 `f_getParent`,我们可以轻松地实现递归查找子节点和父节点,提高数据查询的效率和灵活性。

    squirrel-sql 最稳定的版本(官方版)

    这种灵活性使得Squirrel-SQL适应不同用户的工作习惯。 4. **JDBC驱动管理**: Squirrel-SQL允许用户方便地管理和安装JDBC驱动。用户只需将驱动JAR文件放在指定的驱动库目录下,Squirrel-SQL就可以自动识别并添加到...

    SQL3复习(新系统).rar_softulf_sql_sql3

    2. **递归查询**:通过WITH关键字配合递归公共表表达式(CTE),可以实现层级数据的遍历,如组织结构或树形结构的查询。 3. **多值列类型**:SQL3引入了XML类型和ARRAY类型,允许存储多个值在一个列中,增强了数据...

    jsp实现动态树形菜单

    【标题】"jsp实现动态树形菜单"涉及的是在Web开发中使用JSP技术构建一个可以自动生成层次结构的交互式菜单系统。JSP(JavaServer Pages)...对于开发人员来说,理解和掌握这种技术有助于提升Web应用的复杂性和灵活性。

    数据库动态控制Excel显示树形目录

    同时,确保交互性,如右键快捷菜单、拖放操作等,可以使用户更方便地操作树形目录。 综上所述,"数据库动态控制Excel显示树形目录"是一个结合了数据库管理、数据结构、数据可视化和用户交互设计的综合项目。通过...

    struts+ibatis实现树形展示

    Struts和iBatis是两种在Java Web...通过合理利用Struts和iBatis,我们可以构建出高效、灵活的树形展示系统,同时结合前端技术,提供优秀的用户体验。理解并熟练掌握这些技术,对于提升Java Web开发能力具有重要意义。

    sql-92-bnf.tar.gz_BNF SQL92_bnf_sql b_sql server bnf_sql92 bnf

    - **子查询**:允许在SELECT、FROM、WHERE等子句中嵌套查询,增强了查询的灵活性。 - **联接操作**:提供了更丰富的JOIN类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。 - **集合操作**:UNION、...

    树形asp.net模板

    【标题】"树形asp.net模板"涉及到的关键技术与知识点主要集中在构建无限级菜单、JavaScript脚本、数据库操作以及ASP.NET框架的版本升级上。以下将详细阐述这些方面: 1. **无限级菜单**:在网页设计中,无限级菜单...

    SQL疑难解决,问题提高SQL学习使用的效率

    层次模型以树形结构表示数据,适用于1:N联系,但仅能处理这种单一联系,导致查询和更新操作复杂。网状模型则允许更灵活的M:N联系,但同样增加了编程难度。关系模型,也就是最广泛使用的SQL数据库,使用二维表格结构...

    sql 标准语法 精华

    在排序和比较中,它可以增加SQL的灵活性,如 `order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss')` 和 `order by decode(mode,'FIFO',rq-sysdate, sysdate-rq)`。 4. **日期计算**: SQL 提供了...

    SQL处理多级分类,查询结果呈树形结构

    3. **灵活性**:可以根据需要调整CTE的递归条件,适应不同层次的分类需求。 然而,需要注意的是,虽然CTE在大多数情况下性能较好,但当数据量极其庞大时,也可能面临性能挑战。这时可能需要考虑其他优化策略,如...

Global site tag (gtag.js) - Google Analytics