我目前正在編寫一個過程,我有一個文件系統在syBase中設置我想找到所有的文件,我有它指定的文件,然後我希望它找到所有這些文件都包含在其中的所有文件等等。更好的解決方案重複代碼,需要優雅
現在我的代碼工作並返回所有我想要的文件,但我想要一個更優雅的版本,因爲目前它是很多重複代碼,並且不會覆蓋所有文件。
我試過循環,但我沒有太多的運氣。
INSERT #nodes
SELECT from_file
FROM file_map
WHERE to_file = @fileNode
insert #fileList
SELECT DISTINCT file
from #nodes
INSERT #nodes1
SELECT from_file
FROM file_map m
INNER JOIN #nodes n ON m.to_file = n.file
WHERE m.to_file LIKE '/%'
INSERT #fileList
SELECT DISTINCT file
FROM #nodes1
INSERT #nodes2
SELECT from_file
FROM file_map m
INNER JOIN #nodes1 n ON m.to_file = n.file
WHERE m.to_file LIKE '/%'
INSERT #fileList
SELECT DISTINCT file
FROM #nodes2
INSERT #nodes3
SELECT from_file
FROM file_map m
INNER JOIN #nodes2 n ON m.to_file = n.file
WHERE m.to_file LIKE '/%'
INSERT #fileList
SELECT DISTINCT file
FROM #nodes3
這是一個相當簡單的程序,我只是無法弄清楚這種方式使整理/更快。
這只是一個例子,系統可以像30個文件一樣深,所以我不想創建30個臨時表。
優雅被嚴重高估:如果它的工作,不要修復它:) – dasblinkenlight 2012-08-07 13:53:33
事情是我不知道文件系統有多深,所以我最終不得不像15臨時表makle,雖然這不是真的我希望它可以擴展到文件系統大小 – EmberZ 2012-08-07 13:55:21
[部分優雅是拼寫](https://stackoverflow.com/posts/11847506/revisions)。 – 2017-08-23 01:24:56