melhor forma de excluir em cascata...

Delphi

21/07/2006

Olá, delphianos. Estou usando o delphi 7 e firebird 2.0.
Tenho algumas tabelas em um banco de dados, por exemplo.

Tabela Clientes (PAI)

Tabela Dependentes (Filha)
Tabela Doações (Filha)

Nas tabelas ´filhas´ contém um campo em referência a Tabela ´PAI´.

Gostaria de saber como faço para quando excluir um registro da Tabela ´PAI´ as filhas excluirem primeiro e logo depois a tabela ´pai´.

consigo da forma tradicional, que é pegando tabela por tabela que está vinculada e excluindo e no final a tabela ´pai´, mas gostaria de saber de vocês se existe uma forma mais prática, atualizada e moderna.

Se alguém puder colocar sua experiência.


Thiagopedro

Thiagopedro

Curtidas 0

Respostas

Bruno Belchior

Bruno Belchior

21/07/2006

Praticamente todos o servidores de Banco de Dados (e até o próprio Access) possuem chave estrangeira com opção de deleção em cascata, ou seja, quando um registro pai é excluído todos os filhos serão excluídos independente da aplicação. Ou seja o Banco cuida disso pra você.


GOSTEI 0
Marco Salles

Marco Salles

21/07/2006

consigo da forma tradicional, que é pegando tabela por tabela que está vinculada e excluindo e no final a tabela ´pai´, mas gostaria de saber de vocês se existe uma forma mais prática, atualizada e moderna.


a sua preocupação é consistente , ja que a sua prática é ruim

Praticamente todos o servidores de Banco de Dados (e até o próprio Access)[b:353c7bd386] possuem chave estrangeira com opção de deleção em cascata,[/b:353c7bd386] ou seja, quando um registro pai é excluído todos os filhos serão excluídos independente da aplicação. Ou seja o Banco cuida disso pra você.


isto , voce cria a relação e na hora da criação de FK , voce coloque na opção Delete Run <no caso do IBExpert> selecione CASCADE


GOSTEI 0
Thiagopedro

Thiagopedro

21/07/2006

[quote=´Marco Salles´]
a sua preocupação é consistente , ja que a sua prática é ruim


A dúvida foi sanada.

Mas fica outra dúvida. O seu comentário colega ficou em um tom ´deboche´, isso se deve a que ?

Porque que eu saiba todos que estão no fórum é para aperfeiçoar alguma teoria na prática que não domina, ou tem alguns, ´como você´, que estão aqui só para ensinar, ou senão, ´debochar´ das dúvidas dos colegas!?

Acho que você não foi feliz na sua colocação!

Há um bom tempo que acompanho o fórum e não tinha visto ainda uma frase ´mal educada´ assim, tendo que concordar que a frase ´mascara a tendência a não ser compassivo´.

Espero que você mantenha um comportamento neutro, ou limitado, a ajudar aos outros.


GOSTEI 0
Marco Salles

Marco Salles

21/07/2006

a sua preocupação é consistente , ja que a sua prática é desaconselhável


desculpe , eu não tive intenção e nen a pretensão. Mas acho que so voce leu esta frase com esta intensidade.

Espero que você mantenha um comportamento neutro, ou limitado, a ajudar aos outros.


ieri seguir os seus sábios conselhos


GOSTEI 0
POSTAR