Dec 14 2010

Select Recursivo - Oracle

Category: OracleSuzuki @ 11:16

Para criar um select recursivo no oracle e recuperar a estrutura/árvore e saber qual o filho, existem os seguinte comandos: SYS_CONNECT_BY_PATH e CONNECT_BY_ROOT. Dada a tabela em que na mesma tabela há um id, e um outro campo identificador que aponta para o id, ou seja aponta para o pai.
Veja exemplo abaixo:

  1. SELECT *   
  2.   FROM ( SELECT fnc_identi,   
  3.                 fnc_fnc_identi,   
  4.                 fnc_descri,   
  5.                 SYS_CONNECT_BY_PATH (fnc_identi,'.') tree,   
  6.                 CONNECT_BY_ROOT fnc_identi children   
  7.            FROM tms_funcao CONNECT BY PRIOR fnc_fnc_identi = fnc_identi)   
  8.  WHERE fnc_identi = 134  

Estou sem o oracle na minha máquina para executar e apresentar o resultado, entretanto é bem simples e acredito que apenas o código vai ajudar.

 

Então ensinarei aos transgressores os teus caminhos, e os pecadores a ti se converterão. (Salmos 51:13)

Tags: , , , , , , ,

Comments

1.
trackback DotNetKicks.com says:

Select Recursivo - Oracle

You've been kicked (a good thing) - Trackback from DotNetKicks.com

2.
Coimbra Coimbra Brazil says:

Mais um para minha coleção de ferramentas!!

3.
Lucrecia Colden Lucrecia Colden United States says:

Good read. I saved the page for future visit.

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading