識別子に 1 対 1 で関連付けられた 3 つのテーブルがあります。条件 A.ID = B.ID = C.ID に一致する 3 つのテーブルからすべてのレコードを削除する必要があります。
今、私は次の方法でそれを行います:
DECLARE
CURSOR CUR IS
SELECT C.ID FROM A
INNER JOIN B ON A."ID" = B."ID"
INNER JOIN C ON B."ID" = C."ID"
WHERE A.STATUS = 'ERROR';
IDX NUMBER;
BEGIN
FOR REC IN CUR LOOP
IDX := REC.ID;
DELETE FROM C WHERE C."ID" = IDX;
DELETE FROM B WHERE B."ID" = IDX;
DELETE FROM A WHERE BP."ID" = IDX;
END LOOP;
COMMIT;
END;
大量のデータと非常に長い実行のためのこの方法。早く削除する方法はありますか?