Qual banco de dados você utiliza?

Em 4 de agosto de 2011 09:00, Tarcisio Martins
<[email protected]> escreveu:
> Bom dia amigos, precisava urgente de uma ajuda de vocês, o meu problema é:
> ao desativar uma unidade pai, preciso desativar todas as unidades filhas
> recursivamente: tenho tentado da seguinte forma...
> ESTRUTURA DA TABELA:
> select * from estrutura_organizacional;
>
>  id_unidade | id_unid_superior |                        nm_unidade
>               | nm_sgl_unidade | tp_status | id_tipo_unidade
> ------------+------------------+-----------------------------------------------------------+----------------+-----------+-----------------
>          11 |               10 | Setor de Processamento
>                | SEPRO                       | A         |               4
>          12 |               10 | Setor de Relatórios e estatísticas
>                | SEREL                        | A         |               4
>           7 |                4 | Setor de acompanhamento de processos e
> sistemas de gestão | SAPGE      | A         |               4
>           8 |                4 | Setor de Arquivo
>                | SEARQ                              | A         |
>     4
>           9 |                4 | Setor de Matrícula
>                | SEMAT                              | A         |
>     4
>          15 |               14 | Setor de Registro
>               | SEREG                             | A         |
>   4
>          16 |               14 | Setor de Conferência Documental e Expedição
> de Diplomas   | SEDIP        | A         |               4
>           3 |                1 | Diretoria de administracao e controle
> academico           | DIRAC                  | A         |               2
>           1 |                  | Pro Reitoria UFU
>                | PROGRAD                          | A         |
>
>          10 |                3 | Divisão de controle acadêmico
>               | DICOA                         | A         |               3
>           4 |                3 | Divisão de administração
>                | DIADM                            | A         |
>   3
>          13 |                3 | Divisão de Informações e atendimento ao
> acadêmico         | DINFA             | A         |               3
>          14 |                3 | Divisão de Registro
>               | DIVRE                               | A         |
>     3
> (13 registros)
>
> QUERY:
> update estrutura_organizacional set tp_status='D' where id_unid_superior=10
> or id_unidade in (
> WITH RECURSIVE eotree(id_unidade,nm_sgl_unidade,id_unid_superior,tp_status)
> AS(
> select id_unidade,nm_sgl_unidade,id_unid_superior,tp_status
> from estrutura_organizacional
> where id_unid_superior is null
> union all
> select eo.id_unidade,eo.nm_sgl_unidade,eo.id_unid_superior,eo.tp_status
> from estrutura_organizacional as eo
> inner join estrutura_organizacional eoe
> on(eo.id_unid_superior=eoe.id_unidade)
> ) )
> A unidade de id=10 é a Divisão de Controle Acadêmico, ao desativá-la preciso
> desativar também seus 2 setores:
> SEREL e SEPRO.
>
> Obrigado pela atenção!
>
>
>
> --
> - Tarcisio Martins Ferreira, 2010
> - Analista Desenvolvedor de Sistemas
> - Bacharel em Ciências da Comp.
> - Universidade Federal de Uberlândia
> - Minas Gerais
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a