[firebase-br] SQL Arvore de dependencias ( select recursiva )
Kléber Caneva
kdcc em terra.com.br
Qua Maio 3 14:36:25 -03 2006
Essa SP deve resolver.. Como fiz de cabeça talvez possua algum erro ou tenha
que ter alguns ajustes.. mas pelo menos dá pra se te uma ideia..
Pra chama-la use: Select * From SP_DEPENDENCIA( 0 );
[]´s
Kléber Caneva
CREATE PROCEDURE SP_DEPENDENCIA( PAI INTEGER );
RETURNS (
COD_DIS INTEGER,
NOME VARCHAR(30),
COD_PAI INTEGER
)
AS
BEGIN
-- Retorna os dados do Pai, se não for o chamada principal
IF (:PAI <> 0) THEN
BEGIN
SELECT COD_DIS, COD_PAI, NOME
FROM DISTRIB
Where COD_DIS = :PAI
Into :COD_DIS, :COD_PAI, :NOME ;
SUSPEND;
END
-- Procura por filhos desse pai.
FOR
Select
COD_DIS, COD_PAI, NOME
From DISTRIB
Where COD_PAI = :PAI
Into :COD_DIS, :COD_PAI, :NOME
DO
-- Se existir ele chama como recursivamente a SP para pegar o nome e
verificar se tem netos.
FOR
SELECT COD_DIS, COD_PAI, NOME
FROM SP_DEPENDENCIA( :COD_DIS )
Into :COD_DIS, :COD_PAI, :NOME
DO
SUSPEND;
END ^
----- Original Message -----
From: "Marcelo Silva" <marcvan em ig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, May 03, 2006 1:01 PM
Subject: Re: [firebase-br] SQL Arvore de dependencias ( select recursiva )
Foi o que pensei... mas o que sei de SPs não vejo como montar um ResultSet
assim :(
----------------------
Marcelo Silva
(11) 9693-4251
MSN: marcvan em ig.com.br
----- Original Message -----
From: "Kléber Caneva" <kdcc em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, May 03, 2006 12:47 PM
Subject: Re: [firebase-br] SQL Arvore de dependencias ( select recursiva )
Você vai precisar de uma SP para isso.
[]´s
Kléber Caneva
----- Original Message -----
From: "Marcelo Silva" <marcvan em ig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, May 03, 2006 11:24 AM
Subject: [firebase-br] SQL Arvore de dependencias ( select recursiva )
Pessoal, tem como buscar uma arvore de dependencia atravez de um SELECT ?
Tenho a seguinte tabela:
DISTRIB
COD_DIS
COD_PAI
NOME
Pela estrutura ja se pode imaginar... preciso trazer uma arvore de
dependencias
tipo
COD_DIS NOME COD_PAI
01 MARCELO 00
02 MARCIO 01
03 RENATO 01
04 MARCIA 02
05 ROBERTO 02
06 RICARDO 03
07 JOAO 04
08 GILBERTO 04
Ou seja, quando buscar pelo codigo 02 ele deve me trazer
MARCIO
MARCIA
JOAO
GILBERTO
ROBERTO
Em um treeview e atravez de funções em PHP e delphi eu consigo, mas tem como
fazer uma select que me traga este resultado ???
----------------------
Marcelo Silva
(11) 9693-4251
MSN: marcvan em ig.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1146666446.35937.15285.tulear.hst.terra.com.br,3815,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 02/05/2006 / Versão:
4.4.00/4753
Proteja o seu e-mail Terra: http://mail.terra.com.br/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.5.1/326 - Release Date: 27/04/2006
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1146672589.948600.6660.mindelo.hst.terra.com.br,5875,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 02/05/2006 / Versão:
4.4.00/4753
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista