Jump to content


Photo

Problema Na Exclusão


  • Faça o login para participar
1 reply to this topic

#1 camis

camis

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 10/06/2003, 21:15

Oi, alguém sabe como fazer na hora de excluir um registro de uma tabela que tenha ligação com outras, como fazer para ligar os códigos e excluir o código da outra tabela também.

Exemplo :

Eu tenho as tabelas bairro, cidade e clientes.

Quando eu excluir um bairro ou uma cidade eu tenho que fazer uma maneira de os códigos referentes ao bairro e/ou cidade da tabela cliente receber o código da tabela bairro ou cidade que está cadastrado um registro vazio.

Como fazer isso.

Muito obrigada

#2 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 10/06/2003, 23:31

Oi, camis... Como vai?

O q vc precisa fazer é quase o q eu te falei pra fazer qdo vc desejar apagar todos os registros ligados ao certo dado a ser apagado em outra tabela. Mas agora, ao invés d vc apagar da tabela clientes todos os clientes associados ao bairro (no caso d vc querer excluir um bairro) q está sendo apagado, vc vai editar todos os clientes q estão associados a este bairro.

Vou mostrar na prática como é. Vou apenas colocar o exemplo d vc querer apagar um bairro. Com a cidade vai ser igual... Veja isto:

Neste exemplo, colocarei poucos campos nas tabelas, pra ficar mais fácil d se entender. A tabela "bairros" tem os campos "id" e "bairro", apenas. A tabela "clientes" possui os campos "id", "cliente" e "bairroid". O campo "bairroid" é q liga o cliente ao bairro ao qual ele pertence. Portanto, qdo vc quiser apagar algum bairro e quiser ainda q todos os clientes q possuem uma relação com este bairro fiquem sem relação com algum bairro, basta vc fazer assim: antes de apagar na tabela "bairros" o bairro cujo "id" é o desejado a ser apagado, vc vai editar a tabela "clientes", alterando todos os campos q possuem relação com o bairro desejado e colocando o valor do campo "bairroid" para estes clientes como sendo 0. Pois não existirá um bairro com este "id", então será uma relação inexistente.

Na prática ficaria assim:

O bairro que será apagado possui número de "id"=X. Então o processo é:

UPDATE clientes SET bairroid=0 WHERE bairroid=X;
DELETE FROM bairros WHERE id=X;

Ou seja... Primeiro se altera a tabela "clientes", retirando a ligação dos clientes com este bairro q será apagado. Depois se apaga tal bairro.

Espero ter ajudado. Espero q seja isto q vc queria. Se vc tiver alguma dúvida, ou se algo não ficou mto claro, basta perguntar!

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq