【发布时间】:2021-06-02 18:25:58
【问题描述】:
我们有一个旧的数据库应用程序,其中包含一个表示文件夹结构的表。我的用例与这个旧的 post 中的用例非常相似,除了我需要能够返回我的表中所有行的文件夹路径信息,这相当小(727 条记录)。
该帖子中给出的函数有效,我尝试对其进行逆向工程以返回所有行的结果,但我显然无法获得任何结果。
我正在尝试的代码如下。是的,只是为了确认一下,后端是 SQL 2000。该应用程序已被忽略了一段时间,但我们现在终于尝试将其淘汰,这就是我尝试获取此文件夹结构信息的原因。感谢所有帮助。谢谢。
USE MyDB
GO
DROP TABLE #FolderTemp
DECLARE @Counter INT
DECLARE @MaxId INT
DECLARE @FolderID INT
DECLARE @ParentID INT
DECLARE @FolderPath varchar(1000)
DECLARE @FolderName varchar(1000)
SELECT MYFOLDER_Id
, MYFOLDER_ParentId
, MYFOLDER_LogicalName
INTO #FolderTemp FROM MYTABLE
Select @Counter = min(MYFOLDER_Id), @MaxId = max(MYFOLDER_Id)
FROM #FolderTemp
GROUP BY MYFOLDER_LogicalName
WHILE (@Counter IS NOT NULL
AND @Counter <= @MaxId)
BEGIN
SELECT MYFOLDER_ParentID = @ParentID, MYFOLDER_LogicalName = @FolderName, @FolderPath
FROM #FolderTemp
WHERE MYFOLDER_Id = @FolderID
((
select @FolderPath = MYFOLDER_LogicalName + '\' + @FolderPath, @ParentID = MYFOLDER_ParentID
from #FolderTemp
where MYFOLDER_Id = @ParentID
))
PRINT @FolderPath + '\' + @FolderName
SET @Counter = @Counter + 1
END
【问题讨论】:
标签: sql sql-server-2000