melhor forma de excluir em cascata...
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.
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
Curtidas 0
Respostas
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
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
21/07/2006
[quote=´Marco Salles´]
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.
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
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