我们有一个包含几棵树的数据库。这些树是使用“前序树遍历”原则构建的。这是一种非常强大的创建树的方法,但它有一个很大的缺点,即一次添加多个节点。
我们必须在我们的树中创建一个复制函数,复制单个(最低级别)节点非常容易,您可以在一次调用中完成此操作。但现在我们想一次复制整个文件夹。我们想知道是否应该在.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
我希望能够在文件夹 6 下复制文件夹 3。所以孩子们需要与所有项目一起复制。并且所有的左右都需要适当调整。如果某事失败,则需要完全回滚。希望这现在更清楚了。
编辑2:
我为此编写了一个存储过程。如果有人想要它只是问我会在今天晚些时候回到这个问题。如果你愿意,我会发布它。