none
Procedure RRS feed

  • Pergunta

  •  

    Galera preciso fazer uma procedure para pegar o registro pai e saber quem são seus filhos, como eu posso fazer isso?

     

    Obrigado

    terça-feira, 21 de outubro de 2008 12:27

Todas as Respostas

  • SirSmart,

     

    Poderia explicar melhor o que exatamente deseja fazer ?

     

     

    Abraços

     

    terça-feira, 21 de outubro de 2008 12:34
  • Olá SirSmart,

     

    A exemplificação ajudaria bastante, mas preciso saber de mais duas coisas:

     

    - Seu SQL Server é 2005 ?

    - A relação de filhos é imediata, ou vale os filhos do filhos (ex: netos, bisnetos, etc)

     

    [ ]s,

     

    Gustavo

    terça-feira, 21 de outubro de 2008 16:39
  • Tenho filho do filho sim

    O problema é que a estrutura da tabela não está muito adequada.

     

    A tabela está desta forma:

     

    codigo       assunto       origem

    1             produto           2

    2             maça              0

    3             pera                1

     

    Seguinte: Os codigos de origem que forem 0 são os pais. Os outros são os filhos. Então nesse caso o codigo 1 é filho do codigo 2, o codigo 2 é pai, pois seu codigo de origem é 0, o codigo 3 é filho do filho do codigo pai, ou seja ele está dentro do codigo 1.

     

    Se alguem puder me ajudar eu agradeço

     

    Estou usando o DB2, mas é padrão ansi e funciona da mesma forma que o sql

     

    Obrigado

     

     

     

    terça-feira, 21 de outubro de 2008 16:59
  • Olá SirSmart,

     

    Se o banco é DB2 receio não poder ajudá-lo. De fato o padrão ANSI deveria ser obedecido igualmente por todos os bancos de dados, mas bem sabemos que nenhum banco adota o padrão completamente. Outra limitação é que o padrão ANSI só passou a tratar recursividade em revisões mais recentes e receio que o DB2 ainda não tenha adotado essas recomendações (nem o ORACLE e nem o SQL o fazem sem extensões proprietárias).

     

    Do ponto de vista do ANSI, não poderei ajudá-lo porque desconheço um operador ANSI implementado para tratar hierarquias. Do ponto de vista do DB2 e suas extensões proprietárias também fica complicado, pois, a comunidade de SQL Server não é o melhor lugar para isso. Recomendo procurar o link abaixo:

     

    Port CONNECT BY to DB2

    http://www.ibm.com/developerworks/db2/library/techarticle/dm-0510rielau/

     

    [ ]s,

     

    Gustavo

     

    terça-feira, 21 de outubro de 2008 17:44