May 6, 2023 at 7:55 am
Hello
I do not know why my delete does not work despite I respect my FK constraint
The FK constraint is based on the same table
ALTER TABLE [dbo].[EVACUATION] WITH NOCHECK ADD CONSTRAINT [FK_EVA_DECH] FOREIGN KEY([COD_EXP_CHG], [COD_CEL_CHG], [NUM_DOS_CHG], [NUM_EVT_CHG])
REFERENCES [dbo].[EVACUATION] ([COD_EXP], [COD_CEL], [NUM_DOS], [NUM_EVT])
GO
ALTER TABLE [dbo].[EVACUATION] CHECK CONSTRAINT [FK_EVA_DECH]
GO
Here is my delete statement
DELETE E2
FROM EVACUATION E2
INNER JOIN Purge.Purge_Select_dossier P ON P.COD_EXP = E2.COD_EXP_CHG
AND P.COD_CEL = E2.COD_CEL_CHG
AND P.num_dos = E2.num_dos_CHG
WHERE EXISTS
(
SELECT 1
FROM EVACUATION E
WHERE E.cod_exp = E2.COD_EXP_CHG
AND E.cod_cel = E2.COD_CEL_CHG
AND E.num_dos = E2.NUM_DOS_CHG
AND E.NUM_EVT = E2.NUM_EVT_CHG
);
I always have the error that my FK constraint is not respected
Thanks for your help
May 6, 2023 at 8:14 am
The only rows you will be able to delete are those which have no 'children'.
DELETE EVACUATION E2
WHERE NOT EXISTS
(
SELECT 1 from EVACUATION E WHERE E.COD_EXP_CHG = E2.COD_EXP AND ...
)
The absence of evidence is not evidence of absence.
Martin Rees
You can lead a horse to water, but a pencil must be lead.
Stan Laurel
May 6, 2023 at 1:16 pm
This was removed by the editor as SPAM
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply