Eliminar filas de las tablas padre e hijo

Asuma dos tablas en Oracle 10G

TableA (Parent) --> TableB (Child)

Cada fila en la Tabla A tiene varias filas secundarias relacionadas en la Tabla B.

Quiero eliminar filas específicas en la Tabla A, lo que significa que primero tengo que eliminar las filas relacionadas en la Tabla B.

Esto elimina las entradas secundarias

delete from tableB where last_update_Dtm = sysdate-30;

Para eliminar las filas principales para las filas que acaban de eliminarse en la tabla secundaria, podría hacer algo como esto

Delete from TableA where not exists (select 1 from tableB where tableA.key=tableB.key);

Lo anterior también eliminará filas en la tabla secundaria donde (last_update_Dtm = sysdate-30) es falso. TableA no tiene una columna last_update_dtm, por lo que no hay forma de saber qué filas eliminar sin las entradas en la tabla secundaria.

Podría guardar las claves en la tabla secundaria antes de eliminar, pero esto parece un enfoque costoso. ¿Cuál es la forma correcta de eliminar las filas en ambas tablas?

Edita

Para explicar mejor lo que estoy tratando de lograr, la siguiente consulta habría hecho lo que estoy tratando de hacer si no hubiera ninguna restricción entre las dos tablas.

Delete from tableA
Where exists (
Select 1 from tableB
where tableA.key=tableB.key
and tableB.last_update_dtm=sysdate-30)

Delete from tableB where last_update_dtm=systdate-30

Respuestas a la pregunta(3)

Su respuesta a la pregunta