【发布时间】:2010-09-13 06:58:08
【问题描述】:
对不起,如果标题描述不佳,但我现在不能做得更好 =(
所以,我有这个主-细节方案,细节是具有 n 个级别的树结构(一对多自关系)(在 SQLServer 2005 上)
我需要使用存储过程将详细结构从一个主机复制到另一个主机,方法是将源主机 ID 和目标主机 ID 作为参数传递(目标是新的,因此它没有详细信息)。
我遇到了麻烦,请您帮忙寻找一种方法来跟踪父 ID 并在不使用光标或类似讨厌的东西的情况下插入子代...
当然,这是一个示例模型,我想要做的是将详细结构从一个主节点复制到另一个主节点。事实上,我正在使用现有的作为模板创建一个新的主人。
【问题讨论】:
-
那么你的明细表在同一张表中有自己的明细吗?类似于: MasterID DetailID ParentDetailID ParentDetailID 在哪里引用 Details 表中的一行?
-
是的,detail.ParentDetailID 是 detail.DetailID 的 FK,detail.MasterID 是 master.MasterID 的 FK
-
那么 detail.MasterID 是为所有详细信息行填充,还是只为详细信息树的“根”节点填充?
-
啊——我明白了。我以为您想将详细信息行从一个主节点移动 到另一个主节点,但不明白问题出在哪里。当然复制是一个更难的问题。
标签: sql-server tsql