Pular para o conteúdo

O passo Tabela: Fecho da hierarquia percorre cada linha ao longo da sua cadeia de nós superiores e escreve uma linha de saída para cada linha e para cada um dos seus ascendentes. Não existe limite de profundidade. A coluna da distância é 0 para a própria linha, 1 para o seu nó superior, e assim sucessivamente.

Um percurso termina numa raiz, num nó superior que a tabela de nós não contém, ou num nó já encontrado, pelo que um ciclo nos IDs dos nós superiores não pode continuar indefinidamente. Um ciclo mantém todos os ascendentes até ao nó repetido. Um ciclo que nenhuma raiz alcança termina no seu menor ID.

  • Linhas de partida do percurso — a tabela cujas linhas iniciam os percursos.
  • Coluna de ID e Coluna do nó superior — o ID de cada linha e o ID do respetivo nó superior. NULL, ou o próprio ID da linha, assinala uma raiz.
  • Tabela de nós (opcional) — a tabela de nós que o percurso sobe. Deixe em branco para utilizar a tabela de origem.
  • Coluna de ID dos nós e Coluna do nó superior dos nós (opcional) — por predefinição, as colunas de ID e do nó superior. Um ID com várias linhas segue uma linha de raiz, ou então o seu menor nó superior.
  • Coluna do ascendente — a coluna de saída que contém o ID do ascendente. A predefinição é Ancestor.
  • Coluna da distância — os passos desde a linha inicial. A predefinição é Distance.
  • Cadeias de texto criadas ao longo do caminho (opcional) — uma linha por coluna de texto a construir à medida que o percurso sobe. Cada linha tem:
    • Coluna de saída — a nova coluna.
    • Coluna de origem — a coluna lida como texto, e Coluna de nós para ler da tabela de nós quando for diferente.
    • Delimitador — o texto entre valores.
    • Distinto — ignorar um valor que o texto já contenha.
    • Raiz primeiro — colocar cada ascendente antes do texto até ao momento.
  • Tabela de saída — onde o resultado é escrito.

A saída contém as colunas de ID e do nó superior, as colunas do ascendente e da distância, e uma coluna de texto por cada cadeia que construir.