Ir para conteúdo

POWERED BY:

Arquivado

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

George Castro

Deletar registro em uma tabela relacionada com outras duas

Recommended Posts

Mysql server 2014

 

Sistema de clinicas

 

A query do select funciona perfeito

 

Mensagem erro do sql. Mensagem 547, Nível 16, Estado 0, Linha 18
A instrução DELETE conflitou com a restrição do REFERENCE "fk_diagnostico_consulta_consulta". O conflito ocorreu no banco de dados "prog_bd_locadora", tabela "dbo.diagnostico_consulta", column 'cod_consulta'.

 

excluir consultas pediátricas realizadas por médicos com mais de 40 anos;

select
consulta.cod_consulta, consulta.cod_medico,
medico.nom_medico, medico.dta_nascimento,
especialidade_medico.cod_especialidade, especialidade_medico.nom_especialidade
from consulta
join medico on consulta.cod_medico = medico.cod_medico
join especialidade_medico on medico.cod_especialidade = especialidade_medico.cod_especialidade
join diagnostico_consulta on consulta.cod_consulta = diagnostico_consulta.cod_consulta
where DATEDIFF (yy,medico.dta_nascimento, getdate()) > 40 and nom_especialidade='pediatria'

delete consulta
from consulta
join medico on consulta.cod_medico = medico.cod_medico
join especialidade_medico on medico.cod_especialidade = especialidade_medico.cod_especialidade
where DATEDIFF (yy,medico.dta_nascimento, getdate()) > 40 and nom_especialidade='pediatria'

 

 

Modelagem lógica do sistema

 

https://www.facebook.com/photo.php?fbid=1007360722675368&set=pb.100002043499976.-2207520000.1459823670.&type=3&theater

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente a tabela dbo.diagnostico_consulta tem alguma constraint de foreing key que impede o deleçao de uma consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A foreing key existe para garantir uma integridade , talvez seja preciso deletar o "registro filho" antes do "pai" , mas isto depende das regras de negócio.

 

Sem amis detalhes fica dificil ajudar.

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.