BOM 死循环如何检测问题,如下,如何检测循环A—D—F—A
BOM结构(料号1、料号2、品名1、品名2、单位用量、....等等字段)
料号1(上阶) 料号2(下阶)
A B
A C
A D
D E
D F
D G
F A
F H
CSDN查阅过其他资料:http://blog.csdn.net/htl258/article/details/5456223
但是料号的字段有可能是6位或者7位,也就是不固定的,所以不大适合,不知道各位有什么其他更好的方法,我想写在存储过程中存储过程死循环BOM结构层次结构树形结构
BOM结构(料号1、料号2、品名1、品名2、单位用量、....等等字段)
料号1(上阶) 料号2(下阶)
A B
A C
A D
D E
D F
D G
F A
F H
CSDN查阅过其他资料:http://blog.csdn.net/htl258/article/details/5456223
但是料号的字段有可能是6位或者7位,也就是不固定的,所以不大适合,不知道各位有什么其他更好的方法,我想写在存储过程中存储过程死循环BOM结构层次结构树形结构
解决方案 »
- connectionstring弱智问题
- SQL数据库更新问题。请进来帮下新手!!
- 加了个表,这个排序怎么写?
- 附加数据库时提示XXX.mdf不是主数据库文件《送分》
- 请问,光安装客户端是否可以进行编程,进行简单的数据库链接?
- 用ODBC配置SQL SERVER数据库的问题,请进。。。
- 高分求教,这个SQL怎么写,sos!!!!
- 再次提问,如何向数据库中加入图片,我用的是pb6.5,sql server 7.0 以前的那个贴子我结了,可还是不行啊
- 求救:sql server 里有数组吗?我想传递一个vb的数组到sql server的存储过程中处理,该怎么办?
- 未能加载文件或程序集 Microsoft.SqlServer.Diagnostics.STrace
- 求助,SQL 统计写法!
- SQLServer触发器的问题
IF OBJECT_ID('TEMPDB.DBO.#tb') IS NOT NULL DROP TABLE #tb
GO
CREATE TABLE #tb([父节点] VARCHAR(1),[节点] VARCHAR(1))
INSERT #tb
SELECT NULL,'A' UNION ALL
SELECT 'A','B' UNION ALL
SELECT 'A','C' UNION ALL
SELECT 'A','D' UNION ALL
SELECT 'D','E' UNION ALL
SELECT 'D','F' UNION ALL
SELECT 'D','G' UNION ALL
SELECT 'F','A' UNION ALL
SELECT 'F','H'
--------------开始查询--------------------------SELECT [节点] FROM #tb GROUP BY [节点] HAVING COUNT(*)>1
----------------结果----------------------------
/*
节点
A
*/
你这样好像也不可行呢,如果节点G下面有H和I子节点呢?这样变成H也存在循环了.....实际H应该不是循环吧
你这样好像也不可行呢,如果节点G下面有H和I子节点呢?这样变成H也存在循环了.....实际H应该不是循环吧
这种情况的话,需要用游标去遍历了
原理应该是那些下级包含有自己的都是错的。
你这样好像也不可行呢,如果节点G下面有H和I子节点呢?这样变成H也存在循环了.....实际H应该不是循环吧
这种情况的话,需要用游标去遍历了
原理应该是那些下级包含有自己的都是错的。
哎,我只想到一个笨方法了,类似您说的,使用游标遍历,将每个子节点和其所有的父节点插入一个临时表中,每次插入前,检查是否存在其所对应的父节点中......只是这样耗时多点,暂时没有其他办法了......
你这样好像也不可行呢,如果节点G下面有H和I子节点呢?这样变成H也存在循环了.....实际H应该不是循环吧
这种情况的话,需要用游标去遍历了
原理应该是那些下级包含有自己的都是错的。
哎,我只想到一个笨方法了,类似您说的,使用游标遍历,将每个子节点和其所有的父节点插入一个临时表中,每次插入前,检查是否存在其所对应的父节点中......只是这样耗时多点,暂时没有其他办法了......
我也想不到更好的。呵呵