Jag försöker radera rader ur två tabeller i SQL Server, baserat på datumet i den ena tabellen och stöter på patrull eftersom (om jag förstår saken rätt) relationerna är sådana att jag måste radera i rätt ordning.
I tabellen tblEventMain ligger information om evenemang i ett kalendarium, och i tblEventTimes ligger datum och tider för dessa evenemang. Ett evenemang i tblEventMain kan alltså ha relation till flera rader med datum och tid i tblEventTimes.
Jag avänder SQL-frågorna nedan för att först radera evenemangen tblEventMain och sedan evenemangens relaterade rader i tblEventTimes. Mitt problem är att jag måste ha kvar de relaterade posterna i tblEventTimes för att kunna radera från tblEventMain baserat på datum, och det går ju inte om jag först raderar datumen. Nåväl, ni förstår säkert genom att titta på SQL:en.
DELETE FROM tblEventMain
WHERE id IN (SELECT E.id FROM tblEventMain E, tblEventTimes T WHERE E.id = T.eventRef AND T.date < '2003-01-01')
DELETE FROM tblEventTimes T WHERE T.date < '2003-01-01'
Felmeddelande:
DELETE statement conflicted with COLUMN REFERENCE constraint 'FK_tblEventTimes_tblEventMain'. The conflict occurred in database 'LS1', table 'tblEventTimes', column 'eventRef'.
Tack på förhand!