我們有一個包含幾棵樹的數據庫。 這些樹是使用「預定樹遍歷」原則構建的。這是創建樹的非常強大的方法,但它有一個很大的缺點,即一次添加多個節點。預訂樹遍歷複製文件夾
我們必須在我們的樹中創建一個複製函數,複製單個(最低級別)節點非常容易,您可以在一次調用中執行此操作。 但現在我們想要一次複製整個文件夾。 我們想知道我們是否應該使用存儲過程在.net中執行此操作。 我們必須確保事務能夠正常工作,如果出現任何問題,都必須進行回滾,因爲其他方式會導致樹被破壞。
任何人都可以幫助我? 約PTT任何信息,你可以在這裏找到:http://en.wikipedia.org/wiki/Tree_traversal
編輯:
一些更多的信息顯然是必要的。 我有兩棵樹:
Root
Folder 1
Item
Item
Item
Folder 2
Item
Item
Folder 3
Folder 4
Item
Item
Folder 5
Item
Root 2
Folder 6
我希望能夠複製文件夾3 underneith文件夾6. 洙需要與所有項目一起復制的孩子。 而所有的權利和權利需要適當調整。如果某件事失敗,則需要完整的回滾。希望現在更清楚。
EDIT2:
我已經爲此編寫了一個存儲過程。 如果有人想要它,只是問我今天晚些時候會回到這個問題。 我會發布它,如果你想。
我認爲在文件夾1的第二項(6出現兩次)後節點左/右值是錯誤的。因此,所有左/右值> 6(文件夾1的第二項右側除外)應增加1。 – zeFrenchy 2011-12-14 17:10:24