いくつかのツリーを含むデータベースがあります。これらのツリーは、「プレオーダー ツリー トラバーサル」の原則を使用して構築されます。これはツリーを作成する非常に強力な方法ですが、一度に複数のノードを追加するという大きな欠点が 1 つあります。
ツリーにコピー関数を作成する必要があります。単一の (最下位レベルの) ノードをコピーするのは非常に簡単です。これは 1 回の呼び出しで実行できます。しかし今、フォルダ全体を一度にコピーしたいと考えています。ストアド プロシージャを使用して .net でこれを行うべきかどうか疑問に思っていました。トランザクションが機能することを確認する必要があります。何か問題が発生した場合は、ツリーが破損するため、すべてをロールバックする必要があります。
これで私を助けることができる人はいますか?ここで見つけることができる PTT に関する情報: http://en.wikipedia.org/wiki/Tree_traversal
編集:
もう少し情報が明らかに必要です。私は2本の木を持っています:
Root
Folder 1
Item
Item
Item
Folder 2
Item
Item
Folder 3
Folder 4
Item
Item
Folder 5
Item
Root 2
Folder 6
フォルダ 3 をフォルダ 6 の下にコピーできるようにしたいので、すべてのアイテムと一緒に子をコピーする必要があります。そして、すべての左右を適切に調整する必要があります。何かが失敗した場合は、完全なロールバックが必要です。これが今より明確になることを願っています。
EDIT2:
このためのストアド プロシージャを作成しました。誰かがそれを望んでいるなら、私は今日この質問に戻ってきます。ご希望があれば掲載します。