创建层次结构(树结构)

时间:2013-01-21 21:22:49

标签: sql tree teradata

我有一个excel文件,其中显示了树结构。 我要做的是将此结构传输到数据库表中。我做了什么。 我遇到的问题涉及更新结构。 我要求以伪代码的形式提供帮助

  1. 在最后一级添加节点(从0到7有8个级别)
  2. 从0级到6级的节点必须能够切换其父级。例如,如果有节点" x"和" y"在4级,如果节点" x"有一个孩子" x1",然后" x1"必须能够从" x"更改父母。到" y"。当然应该有历史的轨迹。另外,改变父母的节点必须保持他的老年人#34; ID而不是新的。最后,当节点被放入历史记录时,他的Rec_End属性被设置为昨天(DATE - 1)。
  3. 我的表格结构如下:

    • 第1栏 - Product_Catalog_Elemet_KEY
    • 第2栏 - Product_Catalog_Element_NAM
    • 第3栏 - Parent_PCE_KEY
    • 第4栏 - Rec_Start
    • 第5栏 - Rec_End(9999-12-31标记无穷大)

    对我来说,最大的挑战是:2点0到6级必须能够切换他们的父母。这就是发布这个问题的原因。

    我开始这样做的方式是: 首先,我创建一个带属性的临时表

    • Parent_Key,
    • NODE_NAME
    • 标志

    为每个级别单独创建临时表。

    该表是.xls文件(转移到一个表中)与当前树之间的MINUS操作的结果。这标有旗帜" new"。此外,MINUS是在当前树和.xls文件之间进行的。 Thas标有旗帜" old"。这两部分与UNION ALL连接成一个表。该表是前面提到的临时表。

    之后,我正在使用flag" old"更新所有记录。 然后我在做INSERT。确切地说,INSERT部分是我遇到问题的地方。

0 个答案:

没有答案