[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