Excluindo linhas das tabelas pai e filho

Suponha duas tabelas no Oracle 10G

TableA (Parent) --> TableB (Child)

Cada linha na Tabela A possui várias linhas filho relacionadas a ela na TabelaB.

Eu quero excluir linhas específicas na Tabela A, o que significa que eu tenho que excluir as linhas relacionadas na tabela B primeiro.

Isso exclui as entradas filho

delete from tableB where last_update_Dtm = sysdate-30;

Para excluir as linhas pai das linhas excluídas na tabela filho, eu poderia fazer algo assim

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

O exemplo acima também excluirá as linhas da tabela filha em que (last_update_Dtm = sysdate-30) é falso. A TabelaA não possui uma coluna last_update_dtm, portanto não há como saber quais linhas excluir sem as entradas na tabela filha.

Eu poderia salvar as chaves na tabela filho antes da exclusão, mas isso parece uma abordagem cara. Qual é a maneira correta de excluir as linhas nas duas tabelas?

Editar

Para explicar melhor o que estou tentando obter, a consulta a seguir teria feito o que estou tentando fazer se não houvesse restrição entre as duas tabelas.

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

questionAnswers(3)

yourAnswerToTheQuestion