seguinte…acredito q a grande maioria dos bancos de hj fazem o tratamento da exclusao em cascata…
tipo, se o registro tiver filhos, o proprio banco exclui os filhos antes de excluir o registro pai…
Nos velhos tempos :oops: criavamos um flag manipulado pelo sistema com, por exemplo, as seguintes alternativas: N, I, E - onde N=Normal, I=iniciado Processo de Exclusão e E=Exclusão completada
Evidentemente, o sistema, como um todo, só enxergava os registros com status=N ou I - sendo que o I significava uma exclusão inconclusa, logo, ao deparar com um registro assim, o sistema “acabava o serviço”. Primeiro marca o pai com I e vai marcando os filhos. Depois começa a mudança para E, à partir dos filhos - deixando o pai por último. :idea:
:idea: Usando esse conceito, a exclusão em cascata pode ser executada apenas para os registros com status=E.
Isto resolveria o problema da caixa - mas seria uma surpresa MUIIIITO desagradável para mim descobrir que os BD modernos não fazem isso automaticamente.
estamos fazendo a delecao em cascata toda manualmente, dando commit e rollback no final…
mas eh um inferno ter q fazer classes (caso nao existam) e utiliza-las na sua classe em questao…
pior ainda qdo vc tem q deletar em uma tabela, mas essa tabela tem relacionamentos em outras e essas outras tb tem relacionamentos…eh um sem-fim de whiles, ResultSets e delete´s q fica quase impossivel dar manutencao nisso…
alegaram aki q o sistema sendo multi-banco, nao poderiamos deixar isso com o banco e nao com o sistema…mas achei ridiculo esse motivo…
Você sabe de mais algum detalhe sobre isso?
É que por acaso a empresa em que trabalho presta serviços pra Caixa, e temos alguns sistemas que usam o Oracle lá. Mas em nenhum deles é usada a exclusão em cascata.
Você sabe de mais algum detalhe sobre isso?
É que por acaso a empresa em que trabalho presta serviços pra Caixa, e temos alguns sistemas que usam o Oracle lá. Mas em nenhum deles é usada a exclusão em cascata.[/quote]
Sei pouca coisa, um amigo meu da faculdade trabalha lá na Caixa como consultor tambem, só sei o que ele falou que algumas tabelas ainda estavam com cascading… o que gerou um travamento geral por lá… e que eles tiveram que descobrir quais eram as tabelas e mudar isso.