私は2つのテーブルを持っています:A
そしてB
A
次の列が含まれます。
Id [uniqueIdentifier] -PK
checkpointId [numeric(20,0)]
B
以下が含まれます。
Id [uniqueIdentifier] – PK
A_id (FK, uniqueIdentifier)
B
A
from列への参照があり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 を超えるレコード)。