Рекурсивная вставка с использованием пункта connect by

У меня есть иерархические данные (справа) в таблице следующим образом, который создает иерархию, как показано слева. Таблицы хранятся в Oracle 11g.

TREE Hierarchy          Tree Table  
--------------          Element Parent
                        ------  ------
P0                      P0  
    P1                  P1      P0
        P11             P2      P0
            C111        P11     P1
            C112        P12     P1
        P12             P21     P2
            C121        P22     P2
            C122        C111    P11
    P2                  C112    P11
        P21             C121    P12
            C211        C122    P12
            C212        C211    P21
        P22             C212    P21
            C221        C221    P22
            C222        C222    P22

Моя таблица данных содержит следующие значения. Он содержит значения для всех листовых узлов.
Таблица данных

Element Value  
C111    3  
C112    3  
C121    3  
C122    3  
C211    3  
C212    3  
C221    3  
C222    3  
P11     6  

Мне нужно сгенерировать инструкцию вставки, предпочтительно одну инструкцию вставки , которая будет вставлять строки в таблицу данных на основе суммы значений дочерних элементов. Обратите внимание, что нам нужно вычислить сумму только для тех родителей, значение которых отсутствует в таблице данных.

Таблица данных (ожидается после вставки)

Element Value
C111    3
C112    3
C121    3
C122    3
C211    3
C212    3
C221    3
C222    3
P11     6

-- Rows to insert
P12     6
P21     6
P22     6
P1      12
P2      12
P0      24
5
задан BigBoss 22 November 2011 в 10:47
поделиться