一张表保存c盘下所有文件的路径
来源:互联网 发布:珍妮特 兰金 知乎 编辑:程序博客网 时间:2024/06/06 17:26
问题:如何利用一张表,存放c盘的所有文件路径,然后可以查出它的完整路径?
思路是这样的,用一张表,有一个id,一个 【parentid】存放父文件的路径
思路是这样的,用一张表,有一个id,一个 【parentid】存放父文件的路径
这样,这样不断的根据parentid查找,一直找到 null 就可以实现了。
但是实际的sql语句要如何写了,今天在csdn遇到这个问题。以下是解决方案:
1.利用 with 关键字 该方法有一个重要的特点,就是在with里面可以引用自己,这样就构成[递归查询](见数据库帮助)
2.递归查询里的第一个定位(union all前面) 称为定位成员。如果要使用递归查询,必须使用 union all(没有编译不能通过),连接定位成员和第一个递归
3.递归查询后的结果,会赋值给引用的自己
4.递归的结束条件是,当递归返回的结果集为空时(注意,使用了union all会去掉重复的行,所以,才会有空)
DECLARE @t TABLE (ID int, ParentID int, FName varchar(30)) insert into @tselect 1,NULL,'C:' union allselect 2,1,'windows' union allselect 3,1,'system' union allselect 4,2 ,'mywindos' union allselect 5,4,'protectapp' union allselect 6,3,'sql server' union allselect 7,6,'sql prompt'--递归查询;with tas(select ID,ParentID,FName,FName tPathfrom @twhere ParentID is nullunion allselect t2.ID,t2.ParentID,t2.FName, CAST(t1.tPath+'\'+t2.FName AS varchar(30)) tPath ----这里必须强制将递归部分的tPath转换from t t1join @t t2 on t1.ID = t2.ParentID) select * from t
0 0
- 一张表保存c盘下所有文件的路径
- linux C 递归找出一个路径下的所有文件
- 遍历当前目录下所有的.h文件,并将其路径保存到文件中
- 查找给定路径下的所有文件
- C#读取路径下的所有文件
- 遍历路径下的所有文件
- Python读取路径下的所有文件
- 获取某一路径下的所有文件
- hpunix下标准c取得指定目录下所有文件和路径的名称
- ftp 给定路径 下载改路径下的所有文件
- 复制某个路径下的所有文件到指定路径
- /查询C:\\Windows\\System32路径下所有结尾是.dll的文件
- C#--如何获得文件保存路径的.txt文件
- 遍历某路径的函数 ---- 将路径下 所有的文件保存在全局容器中,以待近一步处理
- 获取路径下所有文件
- python 遍历某个路径下的所有图片并将图片路径保存到数组
- c python shell获得文件路径以及所有的文件
- java下获取sd卡下的所有文件、路径
- vb.net操作Excel表格类
- java 文件复制
- 十秘诀助你顺利通过面试关
- Parameters, Arguments
- java BufferedReader readline
- 一张表保存c盘下所有文件的路径
- 职场上的六大核心潜规则
- 嵌入式学习之路(十四)——C语言学习(9)
- 使用Oracle SQLDeveloper连接数据库并创建用户
- elf uboot kernel中的几个地址
- 车牌bmp图像文件分割处理 (c语言)
- selenium ActionChains
- Mindmanager无法在win8上打开之后续
- VirtualBox的扩展包安装在win7专业版64位上出错的解决办法