sábado, 23 de maio de 2015

Query Hierárquica


Nesse post vou falar sobre o conceito de Selects hierárquico é utilizado quando a tabela possui um relacionamento com ela mesma, Pai - Filho, esse comando é muito útil quando temos que construir arvores de informações a partir de uma unica tabela.


O recurso da query hierárquica só esta disponível a partir da versão 10G e possui as seguintes palavras chaves:

  • Level: Nível da linha dentro da arvore. 
  • Prior: Indica a coluna de hierarquia e qual o nível de inicio da consulta.
  • Start With: deve ser o inicio da hierarquia ( Pai)
  • Connect by: Define colunas de relacionamento (Pai e Filho)
O exemplo abaixo apresenta uma query hierárquica simples:

 SELECT EMPLOYEE_ID,E.FIRST_NAME || ' '|| E.LAST_NAME empregados,MANAGER_id
    FROM HR.EMPLOYEES e
   START WITH E.EMPLOYEE_ID = 100

  CONNECT BY PRIOR E.EMPLOYEE_ID = E.MANAGER_ID;

  O retorno da query acima será:

A ordenação do retorno desta query será é hierarquia entre empregados ( EMPLOYEE_ID e MANAGER_ID).



Obs: a base HR é padrão do Banco Oracle.

Copyright:

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.