SP ИСКЛЮЧЕНИЕ не удаляет данные, которые должны?
PROCEDURE TEST (TEST IN TABLE1.COLUMN1%TYPE, TEST2 IN TABLE2.COLUMN1%TYPE)
IS
SEQ1 NUMBER;
SEQ2 NUMBER;
BEGIN
SELECT seq_id.NEXTVAL INTO SEQ1 FROM DUAL;
INSERT INTO TABLE1 VALUES(SEQ1, TEST);
SELECT seq_id2.NEXTVAL INTO SEQ2 FROM DUAL;
INSERT INTO TABLE2 VALUES(SEQ2, TEST2);
COMMIT;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
DELETE FROM TABLE1 WHERE COLUMN0 = SEQ1;
DELETE FROM TABLE2 WHERE COLUMN0 = SEQ1;
RAISE;
END;
Если происходит ИСКЛЮЧЕНИЕ, я хочу удалить все из тех таблиц, которые содержат этот определенный идентификатор. Этот SP называется X раз, и у меня есть 3 таблицы, которые имеют отношение к столбцу. Первые два вызова в порядке, если третий выдает ошибку, я тоже хочу удалить эти предыдущие вставки.
TABLES
CALL TO SP COLUMN1 - COLUMN2 - COLUMN3
1 1 2 3
2 1 2 3
3 1 2 ERROR
EXCEPTION
Delete from TABLES WHERE COLUMN2 = 2;