Melhor maneira de excluir registros no banco

Pessoal estou desenvolvendo uma aplicaacao desktop java comum, e como todos eles tb possui cadastros, neste caso o bd eh o mysql, e gostaria de saber qual a melhor maneira de se excluir um registro que contenha dados que estejam sendo usados por outra tabela.

 Por acaso fazer varios selects na classe de exclusao antes de excluir os dados, seria uma opcao boa ??? ou haveria melhores formas

Valeu mocada

hibernate … :mrgreen:

hahahahahaha, valeu scotty, hahaah, essa eh ja sabia, mas eh q essa aplicacao naum usa hibernate, comecei a utiliza-lo mas vi nao daria tempo para conclusao com o hibernate, por isso nao estou usando o hiber, meu projeto deve estar pronto em alguns dias, mas concordo sem duvida q o hibernate e a melhor maneira, haha, se souber uma opcao que nao a utilize agradeco. estou usanu prepard statements .

vaelusssss

se vc não achar um opção use um flag na tabela!

O seu banco de dados não tem suporte a cascateamento não? (os “on delete cascade” da vida, quando você cria a tabela)

Aidna que nao tenha, qual teu problema, sincronizacao?

   Meu banco tem suporte a on delete sim, mas esta setado como no action por enquanto, pois assim ao excluir um registro de uma tabela pai ele nao excluira pois existem tabelas filhas, por isso nao setei o on delete cascade ainda, senaum meus dados ficarao inconsistentes, minha duvida e saber apenas nestes casos de nao existir a persistencia, qual a melhor forma de nao permitir a exclusao de tabelas pais, sendo que existem as filhas, e por favor me corrijam se falei algo errado,

e mais uma vez valeu msm pelas dicas pessoal

Vai ficar inconsistente se você não fizer o cascade.

Fazendo o cascade qualquer filho sem pai vai ser deletado junto.

Certo certo, intaum o on cascade eh quem evita que se exclua registros de tabelas pai que possuam tabelas filhas, intaum dessa forma basta que eu set o on cascade, e ao excluir ele devera me retornar um erro devido as tabelas filhas, eh isso ??

e desta forma tudo se resolve

No cascade você diz o que é que vai acontecer. Tipo, se você tem uma tabela pai que tem um relcionamento com uma tabela filha e você coloca no “on delete cascade” no relacionamento, quando um pai for deletado, o filho vai ser deletado junto.

vixi, mas eh exatamente o nao quero que ocorra, e qual a sintaxe para que isso nao possa ocorrer ???

E você quer que aconteça o que, que os filhos fiquem sem pai?

Acho q nao estou conseguindo me expressar, vamu ve um exemplo, olha so tenho uma tabela de clientes e uma de cidades, apos cadastrar uma cidade ja e possivel cadastrar um cliente, ja que na tabela de clientes existe uma fk codigo da cidade por exemplo, entaum se eu excluir a cidade deste cliente , meu cliente tambem sera excluido ??? Isso nao quero que ocorra

E você quer o que? Que o cliente exista sem cidades?

haahah, cara sou mto burro msm nem havia pensado nessa coisa obvia, eh on cascade e blz valeu msm, e desculpa chateacao ae, hahaahha

falowwwss

[quote]Mauricio Linhares 26/07/2005 01:48:07 Assunto: Re: Melhor maneira de excluir registros no banco


E você quer o que? Que o cliente exista sem cidades?
[/quote]

E se a idéia for exatamente esta? Quando excluir a cidade, seto nulo no atributo cidade de cliente.
Dá pra fazer algo similar ao “os delete set null” do sql no hibernate?