Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ThEDukA

Como fazer delete entre tabelas que possuem relacionamento bidireciona

Recommended Posts

Pessoal, estou com um problema mais relacionada a delete em banco de dados.

 

Imagem duas tabelas, beneficiario e familia. A tabela beneficiario possui um campo familia que aponta para o Id da tabela familia. A tabela familia possui um campo titular que aponta para o beneficiario responsável da família, ou seja, o Id da beneficiario.

 

Em muitas situações o titular é o mesmo beneficiário e acabo tendo um relacionamento 1:1 bidirecional entre as duas tabelas.

 

Minha dúvida é como posso deletar alguma informação deste relacionamento?

 

Quando tento excluir beneficiario é acusado quebra de chave estrangeira com familia e quando tento excluir familia acusa acusado quebra de chave estrangeira com beneficiario.

 

Preciso fazer uma limpeza no banco e estou meio perdido com essa situação. Ja dei uma goglada mas não encontrei nada útil.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejo duas soluções :

 

Usar a opção DEFERRABLE que permite validar a transação só após o COMMIT.

 

Ou

 

Desabilitar a constraint para fazer a operação.

 

Se a operação for uma rotina de produção use a 1º opção, se for só uma solução provisória use a 2ª.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.