Olá,
Na sexta uma programadora me procurou com dúvidas sobre as cláusulas "start with" e "connect by" no comando SQL. Eis, que hoje ao ler a newsletter de banco de dados do iMasters vi na lista de artigos um que falava sobre Queries hierárquicas. Coinciência, não? Achei a matéria do colega Ruben Badaró interessante, e resolvi post-la aqui. O link é http://imasters.uol.com.br/artigo/12551/oracle/queries_hierarquicas_em_oracle/.
Só acrescentaria ao que o colega escreveu a possibilidade de concatenar o Level com a coluna da tabela, criando um efeito semelhante ao de um sumário. Exemplo:
SELECT lpad('.', 2*Level) NOME Empregados
FROM
EMPREGADO
START WITH NOME='João'
CONNECT BY NOCYCLE PRIOR ID = SUPERVISOR;
Empregados
-------------
João
.......Pedro
.......Ricardo
...............José
[ ]'s
Márcio Almeida.
Assinar:
Postar comentários (Atom)
Márcio,
ResponderExcluirMuito interessante tanto o artigo quanto sua dica para facilitar a compreensão.
Só uma pequena dúvida: o campo que contém a informação do registro pai (SUPERVISOR) deve ser obrigatoriamente do tipo inteiro?
Como se trata de um autorelacionamento, os dois campos precisam ser do mesmo tipo, mas nao obrigatoriamente devem ser numericos e inteiros.
ResponderExcluir[ ]'s
Show de bola... está dica.
ResponderExcluirNão conhecia este tipo de sintaxe no oracle.