SQL. Очистка записей из связанных таблиц
Дано: Есть 2 таблицы "Сообщения" и "Архив сообщений", вторая содержит только ссылку на первую и дату отправки в архив. Задача: Почистить сообщения. Решение: Для решения можно было написать 2 скрипта, которые сначала удаляют записи из таблицы "Архив сообщений", а потом из таблицы "Сообщения" (такая очередность обусловлена тем, что в архиве сообщения есть ссылки FK). Выглядеть это будет так: DELETE FROM ARCHIVEMAILUSER WHERE MAIL_ID IN (SELECT ID FROM MAIL WHERE CREATE_DATE >= to_date ('01.01.2022', 'dd.mm.yyyy') AND CREATE_DATE < to_date ('02.02.2022', 'dd.mm.yyyy')); DELETE FROM MAIL WHERE CREATE_DATE >= to_date ('01.01.2022', 'dd.mm.yyyy') AND CREATE_DATE < to_date ('02.02.2022', 'dd.mm.yyyy'); - Но что, делать если связанных таблиц больше? - Использовать PL/SQL! Запрос будет выглядеть следующим образом: --#ORACLE begin for cur in (SELECT id FROM MAIL WHERE CREATE_DA