私は2つのテーブルを持っています:AそしてB
A次の列が含まれます。
Id [uniqueIdentifier] -PK
checkpointId [numeric(20,0)]
B以下が含まれます。
Id [uniqueIdentifier] – PK
A_id (FK, uniqueIdentifier)
BAfrom列への参照がありA_idます (FK)
A質問: テーブルからcheckpoint_id以下のすべてのレコードを削除したいX:
delete from CheckpointStorageObject where checkpointIdentifierIdentifier <= 1000
でもそれ以来できない"The primary key value cannot be deleted because references to this key still exist"
B結合せずにテーブルから最初に削除しようとしました:
DELETE FROM CheckpointToProtectionGroup
WHERE EXIST (SELECT * from CheckpointStorageObject
WHERE CheckpointStorageObject.CheckpointIdentifierIdentifier <= 1000)
しかし、うまくいきませんでした。
どうすればいいですか?1 つの実行コマンドで両方のテーブルから削除することは可能ですか?
その結果、削除されたレコードは非常に大きくなる可能性があります (各テーブルに 30,000 を超えるレコード)。