[firebase-br] Select recursivo

Rubem Nascimento da Rocha djpardalrocha em hotmail.com
Sex Jan 5 13:31:30 -03 2007


Infelizmente, companheiro, não tem como. O FireBird até o momento não possui 
features embutidos em seu engine SQL (engine = mecanismo, e não motor!) pra 
fazer esse tipo de consulta hierárquica, como por exemplo o Oracle possui 
(CONNECT BY).

A única maneira que conheço (e inclusive li literatura específica a 
respeito), infelizmente, é por meio de STORED PROCEDURES. Pelo SQL ANSI (SQL 
padrão), é praticamente inviável o uso de sentenças SELECT recursivas.

O livro que me refiro e que comprei faz alguns meses chama-se "Trees and 
Hierarchies in SQL for Smarties", do autor Joe Celko, editora Morgan 
Kaufmann (livro importado). O livro explica em riqueza de detalhes como se 
pode representar estruturas hierárquicas em bancos de dados relacionais, 
inclusive representando algumas estruturas de dados conhecidas no meio 
acadêmico, conhecidas como grafos, dentro de bancos de dados relacionais 
para procurar representar tal estrutura hierárquica.

E o livro é categórico: para retornar result sets que representem dados 
representados de forma hierárquica, vc precisará de stored procedures. Me 
corrijam se eu estiver errado.

Sds.

>From: "Murilo -> CPR Sistemas" <murilo em cprinformatica.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: lista em firebase.com.br
>Subject: [firebase-br] Select recursivo
>Date: Fri, 05 Jan 2007 13:13:18 -0300
>
>Tem como?
>É que possuo uma tabela de itens e outra com a sua composição, sendo que
>um item pode ter por exemplo 3 itens em sua composição, e estes três
>itens tem mais itens fazendo a sua composição, e assim por diante
>formando uma hierarquia, mas preciso realizar uma soma de todos os
>valores do itens, começando pelo item "pai" e ir até o último item
>"filho"? Como?
>
>Ahh e não pode de forma alguma procedure ou view.
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço 
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa

_________________________________________________________________
MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br





Mais detalhes sobre a lista de discussão lista