onze sponsors
Hi, ik loop tegen de volgende melding aan:
The DELETE statement conflicted with the REFERENCE constraint "[Constraint]". The conflict occurred in database "[DB]", table "[TabelNaam]", column 'Columnnaam'
De melding zegt mij, denk ik, dat ik een record probeer te verwijderen uit de tabel van een database waar nog een referentie naar is. Het gekke is dat ik die referentie niet kan vinden. Omdat het Db model een aantal constraints mist, heb ik deze aangemaakt en nu probeer ik een aantal records te verwijderen, waarbij ik dus deze melding krijg. Ik heb al een query gemaakt die kijkt of er misschien records zijn met een id die wel voorkomen in de gereference-te (hoe schrijf je dat?) table die niet voorkomen in de parent oid, maar zonder resultaat. Hoe kan ik nu achterhalen welk record het confict veroorzaakt?
De werkwijzen:
aanmaken constraint:
alter table dbo.TBL_Kaart
add constraint FK_Kaart_TBL_Patient
foreign key(FLD_Patient_Id)
references dbo.TBL_Patient(FLD_ID)
on delete cascade
on update no action
end
go
vervolgens de delete:
delete from tbl_patient where fld_id not in (
select fld_id from tbl_patient
where fld_afdelingId not in (select fld_id from tbl_afdeling)
)
The DELETE statement conflicted with the REFERENCE constraint "FK_TBL_Kaart_TBL_Patient". The conflict occurred in database "[DBNaam]", table "dbo.TBL_Kaart", column 'FLD_Patient_Id'.
Ik zou dus zeggen er zit in de tabel TBL_Kaart een fld_Patient_Id wat problemen veroorzaakt. Maar ik kan niet vinden welke. Dat wil zeggen ik heb geprobeerd om te kijken of er records zijn in TBL_Kaart die niet voorkomen in TBL_Patient. Dat lijkt mij de enige controle. Of zie ik iets over het hoofd?
TIa