由于上面的方法,在函数中传入表的名字,这样每一个有父子关系的表都必须有一个函数,因为表名不一样。我设想是不是可以把表名传进去。于是就有了下面的写法。
引用
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中处理这类数据,...
8. **安全性考虑**:在实现动态树形权限菜单时,必须考虑到安全性问题。防止SQL注入、XSS攻击等,使用预编译的SQL语句,对输入进行校验和过滤,以及对敏感信息进行加密。 综上所述,"Java动态树形权限菜单...
Excel作为一种常见的数据管理工具,因其易用性和灵活性而被广泛使用。然而,随着数据量的增长,将Excel数据导入到更为专业的数据库系统中变得越来越必要。"Excel树形字典,导入数据库"这个主题就聚焦于如何将结构化...
4. **构建条件树**:创建一个树形结构,每个内部节点代表逻辑运算符,叶子节点代表具体的条件。 5. **操作与还原**:使用者可以对条件树进行修改,比如添加、删除或修改条件,然后解析器会根据新的条件树生成对应的...
树形结构是一种层次清晰、逻辑性强的数据表示方式,常用于展现具有层级关系的内容,如菜单系统。在这个框架中,左侧的树形菜单是其核心特色,它允许用户以直观的方式浏览和操作多级菜单项,极大地提高了工作效率。 ...
总的来说,Oracle SQL的树形结构查询提供了一种高效且灵活的方式来处理层级数据,它允许我们从任意节点开始,沿着树的结构进行遍历,无论是向上追溯至根节点,还是向下遍历所有子节点,都变得轻而易举。这种能力对于...
通过递归CTE,可以轻松地遍历整个树形结构。 3. **PIVOT和APPLY关系运算符**: PIVOT用于将行转换为列,这对于数据透视和报告非常有用。APPLY运算符则允许将一个表值函数应用到另一个表的每一行,提供了更复杂的...
在这个"ASP.NET源码——无限级树形菜单(Sql数据库)"项目中,开发者构建了一个利用 ASP.NET 技术实现的无限级树形菜单,其数据存储在 SQL 数据库中。这通常是为了实现网站导航、组织结构或者分类目录等功能。 首先,...
SQL Server 中递归查找子节点和父节点 在关系数据库管理系统中,特别是在 SQL Server 中,...通过创建函数 `f_getChild` 和 `f_getParent`,我们可以轻松地实现递归查找子节点和父节点,提高数据查询的效率和灵活性。
这种灵活性使得Squirrel-SQL适应不同用户的工作习惯。 4. **JDBC驱动管理**: Squirrel-SQL允许用户方便地管理和安装JDBC驱动。用户只需将驱动JAR文件放在指定的驱动库目录下,Squirrel-SQL就可以自动识别并添加到...
2. **递归查询**:通过WITH关键字配合递归公共表表达式(CTE),可以实现层级数据的遍历,如组织结构或树形结构的查询。 3. **多值列类型**:SQL3引入了XML类型和ARRAY类型,允许存储多个值在一个列中,增强了数据...
【标题】"jsp实现动态树形菜单"涉及的是在Web开发中使用JSP技术构建一个可以自动生成层次结构的交互式菜单系统。JSP(JavaServer Pages)...对于开发人员来说,理解和掌握这种技术有助于提升Web应用的复杂性和灵活性。
同时,确保交互性,如右键快捷菜单、拖放操作等,可以使用户更方便地操作树形目录。 综上所述,"数据库动态控制Excel显示树形目录"是一个结合了数据库管理、数据结构、数据可视化和用户交互设计的综合项目。通过...
Struts和iBatis是两种在Java Web...通过合理利用Struts和iBatis,我们可以构建出高效、灵活的树形展示系统,同时结合前端技术,提供优秀的用户体验。理解并熟练掌握这些技术,对于提升Java Web开发能力具有重要意义。
- **子查询**:允许在SELECT、FROM、WHERE等子句中嵌套查询,增强了查询的灵活性。 - **联接操作**:提供了更丰富的JOIN类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。 - **集合操作**:UNION、...
【标题】"树形asp.net模板"涉及到的关键技术与知识点主要集中在构建无限级菜单、JavaScript脚本、数据库操作以及ASP.NET框架的版本升级上。以下将详细阐述这些方面: 1. **无限级菜单**:在网页设计中,无限级菜单...
层次模型以树形结构表示数据,适用于1:N联系,但仅能处理这种单一联系,导致查询和更新操作复杂。网状模型则允许更灵活的M:N联系,但同样增加了编程难度。关系模型,也就是最广泛使用的SQL数据库,使用二维表格结构...
在排序和比较中,它可以增加SQL的灵活性,如 `order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss')` 和 `order by decode(mode,'FIFO',rq-sysdate, sysdate-rq)`。 4. **日期计算**: SQL 提供了...
3. **灵活性**:可以根据需要调整CTE的递归条件,适应不同层次的分类需求。 然而,需要注意的是,虽然CTE在大多数情况下性能较好,但当数据量极其庞大时,也可能面临性能挑战。这时可能需要考虑其他优化策略,如...