J'ai 2 tables: A et BSupprimer plusieurs enregistrements de la table A et B avec un FK au tableau B
A contient les colonnes suivantes:
Id [uniqueIdentifier] -PK
checkpointId [numeric(20,0)]
B contient les éléments suivants:
Id [uniqueIdentifier] – PK
A_id (FK, uniqueIdentifier)
B a une référence à une colonne de A_id (FK)
La question: Je veux supprimer tous les enregistrements de la table A qui leur checkpoint_id est inférieure à X
delete from CheckpointStorageObject where checkpointIdentifierIdentifier <= 1000
Mais je ne peux pas le faire depuis "The primary key value cannot be deleted because references to this key still exist"
J'ai essayé de supprimer la première de la table B sans rejoindre:
DELETE FROM CheckpointToProtectionGroup
WHERE EXIST (SELECT * from CheckpointStorageObject
WHERE CheckpointStorageObject.CheckpointIdentifierIdentifier <= 1000)
Mais cela n'a pas fonctionné.
comment puis-je le faire? Est-il possible de supprimer des deux tables avec une commande d'exécution?
Les enregistrements supprimés résultants peuvent être très volumineux (plus de 30 000 enregistrements dans chaque table).
J'editted le EXIST à EXISTE – Haimon